我认为这是一个非常初学者的问题,但搜索网页(和SO)并没有让我找出答案,尽管尝试了很多解决方案。这里的问题:拆分成列表后访问数据
我有很多列的CSV数据集,例如:yearID XY Z.我在使用阅读:data<-read.csv("/foo/bar.csv")
从那里,我用XY和Z来计算每行:data$A<-(X+Y)/Z
现在我想绘制每年的平均值A,所以我这样做:list_df <- split(data, data$yearID)
。 Hooray,我可以看到如果我做总结(list_df [[5]]),我会看到X Y Z和A的第五年总结。
这里就是我坚持,我再试着这样做:
for(year in list_df){
xy<-data.frame(mean(year$yearID, na.rm=T), mean(year$A, na.rm=T))
}
这个循环“工程”(它不会引发错误),但什么出来,在XY只是去年以及当年的平均水平。理想情况下,我想最终绘制“平均A和年份ID”。我已经尝试了一些基于其他代码示例的for循环的排列,但没有一个还给了我一个工作解决方案。建议非常欢迎这个过程的任何部分,因为我刚开始学习R.
干杯, 扎克
你可以直接使用'aggregate'来做到这一点;这里是一个例子:'plot(aggregate(hp〜cyl,mtcars,mean),col =“blue”,pch = 19,cex = 2.5)' – ddunn801
如果你可以在你的文章中包含一个可重现的数据集的例子,可能会让你获得更多更好的答案。 –