Rmarkdown 动态内容
Rmarkdown Dynamic Content
我想使用 R 生成动态内容以用于 Rmd 文件。
假设我有一个字符向量,chars
,我如何从向量中的每个项目生成一个文档段落?
考虑以下几点:
```{r echo=TRUE}
chars = c("ABC","DEF","GHI")
for(char in chars){ print(char) }
```
上面生成R输出,格式为编程输出,但我实际上想要它作为文档内容,换句话说,三段,包含字符串'ABC'、'DEF'和'GHI'分别
你可以
```{r echo=TRUE, results='asis'}
chars = c("ABC","DEF","GHI")
for(char in chars){ cat('<p>', char, '</p>') }
```
像这样的东西可以满足您的需求。
```{r, echo=FALSE}
# Load your libraries here
chars = c("ABC", "DEF", "HIJ")
newstring<-paste(chars, "", collapse = "", sep = " \n")
```
`r newstring`
Rmarkdown 在行尾使用两个空格来强制执行 return。但是您需要将新行放在您的 sep 中,以实际确保两个空格位于该行的末尾。
您可以结合前面的答案来创建更复杂的 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
包含在 header 中:
---
title: ""
author: ""
date: ""
output:
html_document:
css: style.css
---
这是我最终使用的解决方案,首先创建一个函数:
printSection = function(content){
if(any(content != '')){
cat(gsub(pattern = "\n", replacement = " \n\n", x = paste(content,collapse="\n")))
}
}
然后使用如下:
```{r echo=FALSE,result='asis'}
printSection(c("ABC","DEF","GHI"))
```
我想使用 R 生成动态内容以用于 Rmd 文件。
假设我有一个字符向量,chars
,我如何从向量中的每个项目生成一个文档段落?
考虑以下几点:
```{r echo=TRUE}
chars = c("ABC","DEF","GHI")
for(char in chars){ print(char) }
```
上面生成R输出,格式为编程输出,但我实际上想要它作为文档内容,换句话说,三段,包含字符串'ABC'、'DEF'和'GHI'分别
你可以
```{r echo=TRUE, results='asis'}
chars = c("ABC","DEF","GHI")
for(char in chars){ cat('<p>', char, '</p>') }
```
像这样的东西可以满足您的需求。
```{r, echo=FALSE}
# Load your libraries here
chars = c("ABC", "DEF", "HIJ")
newstring<-paste(chars, "", collapse = "", sep = " \n")
```
`r newstring`
Rmarkdown 在行尾使用两个空格来强制执行 return。但是您需要将新行放在您的 sep 中,以实际确保两个空格位于该行的末尾。
您可以结合前面的答案来创建更复杂的 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
包含在 header 中:
---
title: ""
author: ""
date: ""
output:
html_document:
css: style.css
---
这是我最终使用的解决方案,首先创建一个函数:
printSection = function(content){
if(any(content != '')){
cat(gsub(pattern = "\n", replacement = " \n\n", x = paste(content,collapse="\n")))
}
}
然后使用如下:
```{r echo=FALSE,result='asis'}
printSection(c("ABC","DEF","GHI"))
```