gpt4 book ai didi

r - 在循环内交错 R Markdown 中的表格和绘图

转载 作者:行者123 更新时间:2023-12-01 21:12:28 26 4
gpt4 key购买 nike

我有一个 R Markdown/knittr 文档,可以生成成对的图和表格。对的数量是可变的,因此我在循环内创建它们。 我希望结果在输出中交错:表 1、图 1、表 2、图 2...

在下面的示例中,所有表格都首先出现在文档的顶部。我尝试过各种排列

  • pander 或 kable 作为我的餐 table 功能
  • 将表格函数包装在打印中或直接保留
  • 有或没有results='asis'

编辑:我找到了一个解决方案并将其发布在下面。现在我正在寻找一个与我在 custom R Markdown plot size within loop 中收到的出色的可变高度建议兼容的产品。 ?

```{r cars, echo=FALSE}
library(ggplot2)
library(knitr)

carb.possibilities <- sort(unique(as.character(mtcars$carb)))

filtereds <- lapply(carb.possibilities, function(carb.ct) {
return(mtcars[ mtcars$carb == carb.ct , ])
})

carb.possibilities <- paste(carb.possibilities, ' Carburetors', sep = '')

names(filtereds) <- carb.possibilities

lapply(carb.possibilities, function(one.possibility) {

current.possibility <- filtereds[[one.possibility]]

print(kable(current.possibility))

ggplot(current.possibility, aes(factor(gear), mpg)) +
coord_flip() +
labs(x = "Gears", title = one.possibility) +
geom_point(position=position_jitter( width = 0.1, height = 0.1) )
})
```

最佳答案

使用asis,将表格和绘图包装在print() 中并使用换行符解决交错问题。我还没有弄清楚如何将其与 custom R Markdown plot size within loop 中的可变高度图结合起来

参见https://github.com/yihui/knitr/issues/886

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

carb.possibilities <- sort(unique(as.character(mtcars$carb)))

filtereds <- lapply(carb.possibilities, function(carb.ct) {
return(mtcars[ mtcars$carb == carb.ct , ])
})

carb.possibilities <- paste(carb.possibilities, ' Carburetors', sep = '')

names(filtereds) <- carb.possibilities

for(one.possibility in carb.possibilities){

current.possibility <- filtereds[[one.possibility]]

my.ggplot <- ggplot(current.possibility, aes(factor(gear), mpg)) +
coord_flip() +
labs(x = "Gears", title = one.possibility) +
geom_point(position=position_jitter( width = 0.1, height = 0.1) )

print(kable(current.possibility))

cat('\n')

print(my.ggplot)

}
```

关于r - 在循环内交错 R Markdown 中的表格和绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39792781/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com