[英]How can I make multiple ggplots from a list of dataframes and have them on one pdf page?
I have a list of dataframes (eg a simple example below) 我有一个数据框列表(例如下面的一个简单示例)
df1 <- data.frame(v1=c(1:5), v2=c(2:6))
df2 <- data.frame(v1=c(10:50), v2=c(20:60))
df3 <- data.frame(v1=c(100:500), v2=c(200:600))
df4 <- data.frame(v1=c(1000:5000), v2=c(2000:6000))
df.list <- list(df1, df2, df3, df4)
how can I use lapply function to generate x,y scatter plots for all dataframes in the list and then output as a one-page pdf? 如何使用lapply函数为列表中的所有数据框生成x,y散点图,然后输出为一页pdf? Thanks.
谢谢。
Something like this will do the trick 这样的事情可以解决问题
pdf("myplots.pdf")
par(mfrow=c(2,2))
lapply(df.list, function(x) plot(x=x[,1], y=x[,2]))
dev.off()
library(ggplot2)
library(grid)
library(gridExtra)
p <- lapply(df.list, function(d) ggplot(data = d, aes(x=v1, y=v2)) + geom_point() )
pdf("myplots2.pdf")
do.call("grid.arrange", p)
dev.off()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.