首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >以编程方式使用R标记插入文本、标题和列表

以编程方式使用R标记插入文本、标题和列表
EN

Stack Overflow用户
提问于 2014-10-27 21:11:19
回答 4查看 10.5K关注 0票数 24

使用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文件的上下文表是根据这些头动态创建的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 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文档中的输入。

票数 25
EN

Stack Overflow用户

发布于 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。

票数 7
EN

Stack Overflow用户

发布于 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}

绘图代码

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26588350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档