OK、適用は私の宿敵ですが、ここでの答えに関係していると確信しています。
州 (name_1)、郡 (name_2)、町 (name_3) の 3 つのレベルの貧困データがあります。ここで、州の平均収入 (収入 = e2004MeanY) は、1) 各郡の収入と 2) 各タウンシップの収入に等しいと仮定します。
> head(da)
name_1 name_2 name_3 e2004MeanY acc_500k
0 Vung Dong Bac Lao Cai Xi Mai Ca 637 539.67810
1 Vung Dong Bac Bac Kan Bac Kan Township 2199 378.90057
2 Vung Dong Bac Bac Kan Ba Be 1075 549.34222
3 Vung Dong Bang Song Cuu Long Long An Can Duoc 2284 74.61940
4 Vung Dong Bang Song Cuu Long Long An Can Giuoc 2256 96.18077
5 Vung Dong Bang Song Cuu Long Can Tho Vi Thanh Township 2136 262.74435
データを集計したので、各州の平均を以下に示します。
> vnm1 <- aggregate(da[,-c(1:3)], da[,1, drop=F], mean, na.rm=TRUE)
> head(vnm1)
name_1 e2004MeanY acc_500k alt cost cropland
1 Vung Bac trung Bo 1680.296 497.8453 162.023675 375.4979 98.78586
2 Vung Dong Bac 1574.306 355.9818 327.662351 423.0005 98.66135
3 Vung Dong Bang Song Cuu Long 2031.346 269.4059 4.733111 186.6358 98.41601
4 Vung Dong bang song Hong 2416.989 118.4019 11.128992 150.1016 98.40423
5 Vung Dong Nam Bo 3350.440 205.7134 171.782189 233.0148 99.15330
6 Vung Duyen Hai Nam Trung Bo 1855.655 793.1942 235.375168 427.0307 97.12402
vnm2 と vnm3 というデータフレームがあり、それぞれ name_2 と name_3 を除いて、vnm1 と同じ方法で集約されます。
vnm2 <- aggregate(da[,-c(1:3)], da[,2, drop=F], mean, na.rm=TRUE)
vnm3 <- na.omit(da[,-c(1:2)])
vnm1$e2004MeanY 値を vnm2 と vnm3 に取得するにはどうすればよいですか?