-2

我的数据如下:

Week_ID  County  State   date     ZCTA T_mean_F   Precipitation holiday Units
    523 Carroll  Iowa 01/01/2010 51401 5.669194             0       1     0
    523 Carroll  Iowa 01/01/2010 51430 5.757368             0       1     0
    523 Carroll  Iowa 01/01/2010 51436 5.355239             0       1     0
    523 Carroll  Iowa 01/01/2010 51440 6.055060             0       1     0
    523 Carroll  Iowa 01/01/2010 51443 5.806877             0       1     0
    523 Carroll  Iowa 01/01/2010 51444 5.995150             0       1     0
    523 Carroll  Iowa 01/01/2010 51451 5.003030             0       1     0
    523 Carroll  Iowa 01/01/2010 51455 6.342612             0       1     0
    523 Carroll  Iowa 01/01/2010 51459 5.500786             0       1     0
    523 Carroll  Iowa 01/01/2010 51463 6.303967             0       1     0

这只是前 10 行。整个数据集有许多不同的 Week_ID 和 ZCTA。

我想做的是通过 ZCTA 和 Week_ID 取“T_mean_F”和“降水”的平均值以及“单位”的总和,最好是一次调用。最终结果看起来像这样(只是一个例子,不是实际输出):

Week_ID      ZCTA  T_mean_avg   Prep_avg  Units
  523       51401   5.669194       2        10
  524       51401   5.757368       3        12
  525       51401   5.355239       7        14

这是我尝试过的:

Rollup = Wthr_UMW_dwu[,.(T_mean_avg = mean(T_mean_F),Prep_avg = mean(Precipitaton), Units=sum(Units)), by=.(ZCTA,Week_ID)]

Rollup_1<- aggregate(cbind(T_mean_F,Precipitation,Units) ~ ZCTA + Week_ID, data=Wthr_UMW_dwu, FUN = function(x) c(mn=mean(x), MN=mean(x), n = sum(x)))

这两个都是我以前关于这个主题的问题的模型,并且都产生了错误。

任何人都知道一个平滑/优雅的方式来完成这个?

谢谢,-基思

4

1 回答 1

1
library(data.table)
setDT(x)
x[, .(
  avg.T_mean_F = mean(T_mean_F),
  avg.P = mean(Precipitation),
  s.Units = sum(Units)
), by = .(ZCTA, Week_ID)]
于 2016-11-01T13:10:19.530 回答