我的数据(TransDat70)共包含103个变量。前102个被命名为“V1”到“V102”,最后一个变量名为“Time.Min”。
我需要针对变量“Time.Min”生成每个变量(V1到V102)的102 ggplots。然后,我需要将所有这些ggplots保存在一个单独的文件(pdf)中,最好是在彼此旁边/下面,以进行比较。
我尝试使用我能在网上找到的代码但到目前为止没有一个对我有效。
这是我的代码:
var_list = combn(names(TransDat70)[1: 102], 2, simplify = FALSE)
plot_list = list()
for (i in 1: 3) {
p = ggplot(TransDat70, aes_string(x = var_list[[i]][1], y = var_list[[i]][2])) + geom_point()
plot_list[[i]] = p
}
for (i in 1: 3) {
plot70 = paste("iris_plot_", i, ".tiff", sep = "")
tiff(plot70)
print(plot_list[[i]])
dev.off()
}
pdf("plots.pdf")
for (i in 1: 3) {
print(plot_list[[i]])
}
dev.off()
有什么建议吗?
答案 0 :(得分:0)
如果单独表示每个图表都在一个单独的文件中,那么这个怎么样?
library(ggplot2)
# FAKE DATA AS EXAMPLE
TransDat70 <- data.frame(
1:10,
1:10,
1:10,
1:10,
1:10
)
colnames(TransDat70) <- c('V1', 'V2', 'V3', 'V4', 'Time.Min')
for (i in 1:(length(TransDat70) - 1)) {
p <- ggplot(TransDat70, aes_string(x = paste('V', toString(i), sep=''), y='Time.Min')) + geom_point()
ggsave(paste('~/Desktop/plot_', i, '.pdf', sep=''), p)
}
有关更多选项,请参阅ggsave
文档。
如果您打算将它们全部放在一个大文件中,请查看Printing multiple ggplots into a single pdf, multiple plots per page。
然而,对于那么多情节,它可能会成为一个巨大的文件,这可能会有问题,特别是如果你的情节中有很多点。在这种情况下,将它们作为单独的文件进行比较可能会更好。