【问题标题】:Conditonal RMarkdown inline text条件 R Markdown 内联文本
【发布时间】:2021-10-06 13:01:56
【问题描述】:

我想有条件地在我正在编写的 Rmarkdown 笔记本中打印出文本,以自动生成项目报告。我找到了answer,可以使用以下代码有条件地在 rmarkdown 笔记本中打印出文本:

`r if(show.text){"la la la"}`

如果 show.text 对象为真,它将打印出内联“la la la”。我想知道的是如何使用括号内的函数,例如:

`r if(show.text){print(x)}`

上面的代码不起作用。我希望能够结合它来制作更复杂的条件

`r if(show.text){"la la la" print(x) "bi bi bi" if(y)"bla bla bla"}`

但这不起作用。谁能帮助我或告诉我这是否可能?谢谢!

【问题讨论】:

    标签: r r-markdown


    【解决方案1】:

    您的 if 语句设置不正确。您应该使用if,条件在大括号中,然后else 也在大括号中。相反,您将if 放在另一个if 中。更正它并使用paste0 将您的向量转换为字符串应该可以工作。让我知道这是否是您正在寻找的:

    ```{r showTrue}
    show_text=TRUE
    x= "my variable x is true"
    y= "my variable y is false"
    ```
    
    Text true: `r if(show_text){paste0("My text shows: ", x , " here")} else{paste0("Otherwise: my text is " , y, " instead")}`
    
    ```{r showFalse}
    show_text= FALSE
    x= "my variable x is true"
    y= "my variable y is false"
    ```
    
    Text false: `r if(show_text){paste0("My text shows: ", x , "here")} else{paste0("Otherwise: my text is " , y, " here")}`
    

    【讨论】:

      猜你喜欢
      • 2016-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-13
      • 1970-01-01
      • 2021-09-05
      • 2015-05-29
      相关资源
      最近更新 更多