R 循环问题的ggplot
我试图使用for循环创建基于唯一变量的ggplot,但遇到以下问题: *这是一个大的树测量数据集(至少对我的处理能力而言),所以我对它们进行了子集划分,以使事情变得更简单。。。 *我很高兴使用baseplot,如果这更容易,他们不必是美丽的R 循环问题的ggplot,r,loops,ggplot2,R,Loops,Ggplot2,我试图使用for循环创建基于唯一变量的ggplot,但遇到以下问题: *这是一个大的树测量数据集(至少对我的处理能力而言),所以我对它们进行了子集划分,以使事情变得更简单。。。 *我很高兴使用baseplot,如果这更容易,他们不必是美丽的 当我在较小的集合上运行脚本时,绘图将打印为pdf格式,但它们会重复数据集中每个unique/for变量出现的次数(10-30次) 当我在较大的子集上运行相同的脚本时(唯一的区别是df名称),我得到以下结果: geom_路径:每组仅由一个观测值组成。您是否需要
p您应该在循环开始时设置一个新变量uTreeCode Addprint(i)
,找出导致问题的数据子集,并与我们共享该子集。制作绘图列表很好。但您正在制作一个列表列表,其中每个子列表包含一个绘图。这有什么原因吗?如果没有,(1)删除p[[i]]@AndrewGustar谢谢,尝试了这个,但似乎不起作用。使用了以下内容:uTreeCode Hi@Gregor当我尝试此操作时,它不会打印绘图。请参阅使用的脚本:for(i in 1:length(Pcar$Unique_Tree_Code)){data
p <- list()
for(i in 1:length(Egra$Unique_Tree_Code)) {
p[[i]] <- list()
data <- subset(Egra, Unique_Tree_Code == Unique_Tree_Code[i])
p[[i]][[1]] <- ggplot(data, aes(RelHt,RelDOB)) + geom_line() +
ggtitle(data$Unique_Tree_Code) + xlim(0, 1) + ylim(0 , 1.25)
}
library(gridExtra)
pdf("plots.pdf", onefile = TRUE)
for (i in seq(length(p))) {
do.call("grid.arrange", p[[i]])
}
dev.off()
# A tibble: 851 x 4
RelHt RelDOB RelDIB Unique_Tree_Code
<dbl> <dbl> <dbl> <chr>
1 0.0170 1.06 0.944 100 B05a 11 1 233
2 0.0341 1.04 0.871 100 B05a 11 1 233
3 0.0568 1.03 0.863 100 B05a 11 1 233
4 0.0739 0.996 0.854 100 B05a 11 1 233
5 0.114 0.957 0.841 100 B05a 11 1 233
6 0.170 0.944 0.820 100 B05a 11 1 233
7 0.227 0.936 0.811 100 B05a 11 1 233
8 0.284 0.897 0.803 100 B05a 11 1 233
9 0.341 0.828 0.730 100 B05a 11 1 233
10 0.398 0.815 0.721 100 B05a 11 1 233
# ... with 841 more rows
# A tibble: 1,772 x 4
RelHt RelDOB RelDIB Unique_Tree_Code
<dbl> <dbl> <dbl> <chr>
1 0.0113 1.05 1.04 100 A05e 9.8 1 248
2 0.0226 1.04 0.940 100 A05e 9.8 1 248
3 0.0376 1.00 0.915 100 A05e 9.8 1 248
4 0.0489 1 0.899 100 A05e 9.8 1 248
5 0.0752 0.960 0.863 100 A05e 9.8 1 248
6 0.113 0.923 0.847 100 A05e 9.8 1 248
7 0.150 0.911 0.843 100 A05e 9.8 1 248
8 0.188 0.867 0.827 100 A05e 9.8 1 248
9 0.226 0.863 0.806 100 A05e 9.8 1 248
10 0.263 0.859 0.798 100 A05e 9.8 1 248
# ... with 1,762 more rows