我根据'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 ))
答案 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} }和$
效果不佳。