dplyrで要約を取得する方法が常にわかりません。
個人と世帯の要約があるとします。
dta = rbind(c(1, 1, 45),
c(1, 2, 47),
c(2, 1, 24),
c(2, 2, 26),
c(3, 1, 67),
c(4, 1, 20),
c(4, 2, 21),
c(5, 3, 7)
)
dta = as.data.frame(dta)
colnames(dta) = c('householdid', 'id', 'age')
householdid id age
1 1 45
1 2 47
2 1 24
2 2 26
3 1 67
4 1 20
4 2 21
4 3 7
世帯の人数と世帯の平均年齢を計算し、この情報を元のデータセットで再利用したいとします。
dta %>%
group_by(householdid) %>%
summarise( nhouse = n(), meanAgeHouse = mean(age) ) %>%
merge(., dta, all = T)
私は頻繁にmergeを使用していますが、データセットが巨大な場合は遅くなることがあります。
することは可能ですか
mutate
それ以外の
merge ?