Rmarkdown动态内容

时间:2016-05-11 08:40:41

标签: r dynamic r-markdown

我想使用R生成用于Rmd文件的动态内容。

假设我有一个字符向量```{r echo=TRUE} chars = c("ABC","DEF","GHI") for(char in chars){ print(char) } ``` ,如何从向量中的每个项目生成文档段落?

请考虑以下事项:

let myScale: CGFloat = 2  //2 = double dimension; 0.5 = half dimension
let myParticle = SKEmitterNode(fileNamed: "MyParticle.sks")
myParticle?.particleScale = myScale
self.addChild(myParticle!)

以上产生R输出,格式化为编程输出,但我实际上想要它作为文档内容,换句话说,三段,分别包含字符串'ABC','DEF'和'GHI'

4 个答案:

答案 0 :(得分:1)

你可以做到

```{r echo=TRUE, results='asis'}
chars = c("ABC","DEF","GHI")
for(char in chars){ cat('<p>', char, '</p>') }
```

答案 1 :(得分:1)

这样的东西可以满足您的需求。

```{r, echo=FALSE}
# Load your libraries here

chars = c("ABC", "DEF", "HIJ")
newstring<-paste(chars, "", collapse = "", sep = "  \n")

```
`r newstring`

Rmarkdown在一行末尾使用两个空格来强制执行硬回车。但是你需要在你的sep中添加新行以确保这两个空格位于该行的末尾。

答案 2 :(得分:0)

您可以结合以前的答案来创建更复杂的HTML。

 ```{r echo=TRUE, results='asis'}

chars = c("ABC","DEF","GHI")   

for(char in chars){


    cat(paste("<div class='div1'><div class='div2'>", char,"</div></div>"), sep = "") 

}

```

如果你想为你的div设计样式,只需在标题中加入style.css

---
title: ""
author: ""
date: ""
output: 
  html_document:
    css: style.css

---

答案 3 :(得分:0)

这是我最终使用的解决方案,首先创建一个函数:

$info

然后按如下方式使用:

printSection = function(content){
  if(any(content != '')){
    cat(gsub(pattern = "\n", replacement = "  \n\n", x = paste(content,collapse="\n")))
  }
}