使用R markdown时,如果想要使用代码添加文本,有一些简单的方法可以做到这一点。
对于表也是如此,使用kable
命令非常简单。
但是,假设您希望以编程方式将标题或列表插入到报表中。
```{r, results='asis'}
Headers=list(“我们”,“是”,“你的”,“朋友”)
对于(list_a中的i){
#add i as header
}
并且您希望这与在Rmd文件中写入相同:
#We
#are
#your
#friends
另一个例子是自动创建标题而不是列表:
```{r, results='asis'}
List_a=list(“我们”,“是”,“你的”,“朋友”)
对于(list_a中的i){
#print i to a rmd list
}
如前所述,这应该与编写以下代码的结果相同:
*We
*are
*your
*friends
这不仅仅是一个格式问题,因为Rmd文件的上下文表是根据这些头动态创建的。
发布于 2014-10-27 21:32:15
您需要在R中构造您想要的标记,并将其与块选项中的参数results = 'asis'
一起使用。因此,下面这样的代码将会执行您想要的操作:
```{r, results='asis'}
headers <- list(“我们”,“是”,“你的”,“朋友”)
for (i in headers){
cat("#",i,"\n")
}
此处的for
-loop将创建输出
# We
# are
# your
# friends
它直接用作.md文档中的输入。
发布于 2014-10-27 21:54:45
使用pander package,它将R对象转换为Pandoc的markdown:
> headers=list("We","are","your","friends")
> list_a=list("We","are","your","friends")
> library(pander)
> pandoc.header(headers)
# We
# are
# your
# friends
> pander(list_a)
* We
* are
* your
* friends
<!-- end of list -->
第一个示例使用helper function创建标头,而第二个演示只是简单地调用generic S3 method,它可以将各种R对象强大地转换为markdown。
发布于 2018-11-12 22:45:42
对于那些想要在每个标题下面绘制图形的人,我就是这样做的。
```{r, results="asis"}
for (i in headers){
cat("# ", i, "\n",
knitr::knit_child("plot.Rmd", quiet = TRUE), "\n")
}
在plot.Rmd
中,把你的绘图代码放进去,例如
```{r}
绘图代码
https://stackoverflow.com/questions/26588350
复制相似问题