我正在使用knitr解析R标记文档.有没有办法根据我传递到knitr的环境中的变量,有条件地在R标记中显示一块文本?

例如:

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

如果show.text为真,将在生成的文档中打印"la".

推荐答案

你需要一个完整的R表达式,所以你不能像你所展示的那样把它分成多个块,但是如果一个块的结果是一个文本字符串,那么它将按原样被包含(不带引号),所以你应该能够做如下事情:

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

它将包含文本,当且仅当show.textTRUE.

R相关问答推荐

用R从API中提取数据

如何删除字符串中重复的字符序列?

替换收件箱的子集(行和列)

如何使用ggplot重新绘制LASO回归图?

使用scale_x_continuous复制ggplot 2中的离散x轴

如何根据包含相同值的某些列获取总额

使用预定值列表将模拟数量(n)替换为rnorm()

从gtsummary包中使用tBL_strata()和tBL_summary()时删除变量标签

如何按排序顺序打印一个框架中所有精确的唯一值?

修改用R编写的用户定义函数

如何在modelsummary中重命名统计数据?

将嵌套列表子集化为嵌套列表

制作等距离的线串副本

为什么我使用geom_density的绘图不能到达x轴?

如何将Which()函数用于管道%>;%

WRS2包中带有bwtrim的简单ANOVA抛出错误

以不同于绘图中元素的方式对GG图图例进行排序

是否可以将线性模型的p值添加到tbl_summary中

如何根据其他列中的两个条件来计算数据帧中的行之间的差异?

使用R、拼图和可能的网格包绘制两个地块的公共垂直线