1
我有一個美國降水數據集,除以:州,區(州內),年和月。記錄追溯到1895年。R中多個條件子集的環路
我試圖提取每個州內每個地區的121年平均值(1895年至今)。顯然,我們可以通過分割和/或子集來完成,但我不會一遍又一遍地重寫相同的基本代碼。我想要做的是運行一個循環,通過國家,地區和月份的數據集,爲12個月的每個月提供121年的平均值 - 即:alabama,01區,1月 - 10月,10區。
這裏是第1和數據表的最後幾行:
state, district, year, Jan, Feb, Mar, Apr, May, June, July, Aug, Sept, Oct, Nov, Dec
01, 01 1895 7.37 1.41 7.17 2.72 3.06 4.04 4.58 4.00 3.41 2.28 1.83 5.83
...
50, 13, 2016, 4.77, 3.02, 3.28, -9.99, -9.99, -9.99, -9.99, -9.99, -9.99, -9.99, -9.99, -9.99
在這方面的任何建議/幫助將不勝感激。謝謝!
你錯過了一些逗號。 – alistaire
'圖書館(tidyr);圖書館(dplyr); df%>%gather(month,value,Jan:Dec)%>%group_by(state,district,month)%>%summarize(avg = mean(value))或base或data.table等效 – alistaire
不需要循環。一個簡單的聚合可以工作:'meandf < - 聚合(。〜state + district,sourcedf,FUN = mean)' – Parfait