town date prec TP TC
TR 1/10/1983 NaN NaN 11.34
CR 2/12/1983 NaN NaN 4.3
TR 3/12/1983 11.22 11.36 NAN
SP 5/6/1985 NaN NaN 3.2
BM 6/7/1994 6.33 6.23 1.2
BM 5/6/1995 5.81 5.9 NAN
BM 1/11/2005 5.9 5.9 6.2
我想分别得到每个城镇的数据的季节性平均值(平均值)。在过去,我使用动物园功能来找到每年的季节性平均值。但动物园很难接受另一个城镇的变数。 现在我想扩展它以找到每年城镇的“prec,TP,TC”的季节性平均值 因此对于 Jan feb march 1983年的平均值和
1985年5月,7月,7月平均值
输出应该是这样的。另外“R不应该将NAN视为零”。那只是缺少数据。
town date prec TP TC
TR 1983 11.22 11.36 7.82
SP 1985 6.07 6.07 2.2
答案 0 :(得分:2)
library(data.table)
library(lubridate)
setDT(dat)
dat[ , .(prec = mean(prec, na.rm = T), TP = mean(TP, na.rm = T), TC = mean(TC, na.rm = T))., by = .(town, year(date))]