【发布时间】:2012-12-17 18:06:15
【问题描述】:
我正在尝试在 R 中使用data.table 来总结以下数据表:
SiteNo Var1 Var2 Var3 ... Var18 Group
1 0.1 0.3 1 0.3 1
2 0.3 0.1 0.9 0.2 1
etc.
有 668,944 个观测值、43 个站点、3 个组和 19 个变量。我想获得一个函数的结果(例如,mean),它按站点和组汇总了每个列/变量。所以应该有 43 个站点 x 3 个组 x # 个摘要统计信息(例如,mean)。我使用了以下代码:
e.dt<-data.table(e)
setkey(e.dt, Group) # set key to group number
# get mean for each column/variable
e.dt.mean<-e.dt[,lapply(.SD,mean), by="SiteNo"]
使用上述方法,我得到了 43 个站点,但不是我所追求的 3 个组。我可以将原始数据表分成三组,但想知道是否有一种方法可以使用 data.table 使用两个变量(SiteNo 和 Group)进行汇总。
我还在data.table上的RTM,但到目前为止我还没有找到上面的答案。
【问题讨论】:
标签: r data.table