将子集化数据彼此相邻绘制,以便使用R进行比较

时间:2013-08-11 18:47:10

标签: r split subset lapply

我根据'index'分割数据框,将每个组并排绘制,以便进行比较:

Grp <- split(TOC, TOC$Index)

$`1`
   Site Index depth_ft TOC_mg.g IC_mg.g
1     Z     1        5       12      NA

$`1`
   Site Index depth_ft TOC_mg.g IC_mg.g
1     A     2        2       11      NA

... 
...

如果我一个接一个地说,我可以轻松地绘制数据,比如说

plot(Grp$`1`$TOC_mg.g, Grp$`1`$depth_ft)

但是当我想使用'lapply'一次绘制所有组时,我只看到X-Y轴没有任何数据点(https://docs.google.com/file/d/0B6GUNg-8d30vdmZBMVhKVlR0TkE/edit?usp=sharing)!!谁能告诉我出了什么问题?

#plot
par(mfrow=c(1,5))
lapply(1:length(Grp), function(i) 
  plot(Grp$`i`$TOC_mg.g, Grp$`i`$depth_ft, ylim=c(0, max(TOC$depth_ft)), 
       xlim= c(min(TOC$TOC_mg.g, na.rm=T), max(TOC$TOC_mg.g, na.rm=T)), lwd=2, col=2 ))

1 个答案:

答案 0 :(得分:1)

您应该使用Grp[[i]]$...而不是Grp$$... e.g。

lapply(1:length(Grp), function(i) 
  plot(depth_ft~TOC_mg.g,data=Grp[[i]], 
       ylim=c(0, max(TOC$depth_ft)), 
       xlim= c(min(TOC$TOC_mg.g, na.rm=T), max(TOC$TOC_mg.g, na.rm=T)), 
    lwd=2, col=2 ))

关于$[[之间的区别,SO上有几篇帖子 - 索引,但我找不到正确的咒语来搜索它们(搜索{{1} }和$效果不佳。

相关问题