我正在使用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
答案 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))