我認爲這是一個非常初學者的問題,但搜索網頁(和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
如果你可以在你的文章中包含一個可重現的數據集的例子,可能會讓你獲得更多更好的答案。 –