在条件下分组数据

时间:2015-05-29 13:16:21

标签: r

我正在使用R处理横截面数据,并在条件下对数据进行分组时遇到问题。从我的庞大数据库的一小部分可以清楚地看到问题如下。我想计算同一省,区和公社条件下的平均值(距离)。

Province    District    Commune  Distance
101           15           3      15
101           15           3       5
101           15           3       7
101           15           9       1
101           15           9       7
102           18          19       3
102           18          19       10
103           16          22       5
103           16          22       6

预期结果如下(除以每个地区和每个省的每个特定公社):

Province    District    Commune    Distance
101           15           3       average
101           15           9       average
102           18           19      average
103           16           22      average

2 个答案:

答案 0 :(得分:1)

尝试

library(dplyr)
df1 %>% 
    group_by(Province, District, Commune) %>% 
    summarise(Distance=mean(Distance))

或者

aggregate(Distance~., df1, mean)

或者

 library(data.table)
 setDT(df1)[, list(Distance=mean(Distance)), .(Province, District, Commune)]

答案 1 :(得分:1)

我认为您正在搜索以下内容:

library(plyr)
ddply(df, .(Province, District, Commune), summarize, val = mean(Distance))