R 绘制每列与表中单列的关系

R 绘制每列与表中单列的关系,r,plot,R,Plot,我有一个不同卫星63个采样点的衍生植被指数表。这给了我一个表格,其中有63个观测点和56个变量1个样本ID、50个植被指数、4个生物量和1个LAI。表的最后5列是生物量和LAI,第一列是样本ID。 我想生成一个图,显示一个植被指数和一个生物量参数之间的关系。 我可以使用plot函数,一次观察一个变量 plot(data$Dry10, data$X8047EVImea) 我不想为每个生物量和LAI参数运行这个代码50次又5次 有没有办法循环或嵌套循环此绘图函数,以便一次生成200个图形 此外,我

我有一个不同卫星63个采样点的衍生植被指数表。这给了我一个表格,其中有63个观测点和56个变量1个样本ID、50个植被指数、4个生物量和1个LAI。表的最后5列是生物量和LAI,第一列是样本ID。 我想生成一个图,显示一个植被指数和一个生物量参数之间的关系。 我可以使用plot函数,一次观察一个变量

plot(data$Dry10, data$X8047EVImea)
我不想为每个生物量和LAI参数运行这个代码50次又5次

有没有办法循环或嵌套循环此绘图函数,以便一次生成200个图形

此外,我将在每个地块中放置一条回归线,以查看什么样的植被指数最能代表采样点的生物量


这是我关于stackoverflow的第一篇文章,如果我遗漏了什么,请不要犹豫,询问更多关于这个问题的信息。

如我在评论中所述,您可以通过ggplot2包中的平面图来完成。这确实需要一些数据重新安排,这可以通过Reforme2包来完成。下面是一些代码,这些代码将接近您想要执行的操作,但由于我不完全了解您的数据格式,因此可能需要进行一些修复:

library(ggplot2)
library(reshape2)
library(dplyr)

vegDat <- data[,2:51]
bioDat <- data[,52:55]
## melt the data.frames so the biomass and vegetation headers are now variables
vegDatM <- melt(vegDat, variable.name='vegInd', value.name='vegVal')
bioDatM <- melt(bioDat, variable.name='bioInd', value.name='bioVal')
## Join these datasets to create all comparisons to be made
gdat <- bind_cols(vegDatM[rep(seq_len(nrow(vegDatM)), each=nrow(bioDatM)),],
    bioDatM[rep(seq_len(nrow(bioDatM)), nrow(vegDatM)),])
## plot the data in a faceted grid
ggplot(gdat) + geom_point(aes(x=vegVal, y=bioVal)) + facet_grid(vegInd ~ bioInd)

请注意,由于共有50个绘图,如果交换面(即pdf'foo.pdf',heigth=20),则可能需要打开高度或宽度较大的分区。希望这能让您走上正轨。

请参阅以下问题:。看起来基本上和你问的一样。此外,为了获得最佳结果,您一次只应提出一个问题,并且始终在ggplot2包中包含一个或多个方面。这将需要更少的绘图调用,并产生更可读的代码位@谢谢你的评论。我发现这个链接非常有用。我还没有把所有的图都画出来,但我一次至少画4个图。这对我来说已经足够好了。谢谢@cr1msonB1ade我在数据中发现错误。我真的希望在我解决其他问题后尽快尝试你的方法。谢谢你的帮助!