如何在 Rmarkdown 的 for 循环中嵌入标题和图表

How to embed headings and charts within a for loop in Rmarkdown

提问人:Andrew 提问时间:11/3/2023 最后编辑:PeterAndrew 更新时间:11/3/2023 访问量:25

问:

我想将标题和图表嵌入到 Rmarkdown 文档中。我使用 mtcars 数据集和 for 循环完成了此操作。编织 rmarkdown 文档打印代码,而不是执行代码。请指教。

---
output: html_document
---

```{r echo=FALSE}
library(ggplot2)

 vec <- c("cyl", "disp", "hp")

 for (i in seq_along(vec)) {
  cat(paste("# ", vec[i], "\n"))
  cat(paste("```{r} \n"))
  
  cat(paste0("ggplot(mtcars, aes(x=mpg, y=",vec[i],")) + geom_plot()  \n" ))
  cat("```\n\n")
}
```
R 循环 ggplot2 r-markdown 标题

评论


答:

0赞 stefan 11/3/2023 #1

无需将绘图代码创建为字符串。此外,如果要动态创建标头,请使用 chunk 选项。最后,请注意代词的使用,以使用作为字符串传递的列名。results='asis'.dataaes()

---
output: html_document
---

```{r echo=FALSE, results='asis'}
library(ggplot2)

vec <- c("cyl", "disp", "hp")

for (i in vec) {
  cat(paste("# ", i, "\n"))

  p <- ggplot(mtcars, aes(x = mpg, y = .data[[i]])) +
    geom_point()

  print(p)

  cat("\n\n")
}
```

enter image description here

评论

0赞 Andrew 11/3/2023
聪明的斯蒂芬。非常感谢!