2

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 ? 
4

1 に答える 1