複雑なデータ フレームがあり、最小限の例は次のとおりです。
df <- structure(list(District = c("Adilabad", "Adilabad", "Adilabad",
"Adilabad", "Adilabad", "Adilabad", "Adilabad", "Adilabad", "Adilabad",
"Adilabad"), Subdistt = c("Adilabad", "Adilabad", "Adilabad",
"Tamsi", "Tamsi", "Tamsi", "Tamsi", "Tamsi", "Tamsi", "Tamsi"
), TRU = c("Total", "Rural", "Urban", "Total", "Rural", "Urban",
"Rural", "Rural", "Urban", "Urban"), Level = c("District", "District",
"District", "Sub-District", "Sub-District", "Sub-District", "Village",
"Village", "Town", "Town"), No_HH = c(1277, 364, 913,
1277, 364, 913, 117, 247, 614, 299)), .Names = c("District",
"Subdistt", "TRU", "Level", "No_HH"), row.names = c(NA, 10L), class = "data.frame")
次のようになります。
District Subdistt TRU Level No_HH
1 Adilabad Adilabad Total District 1277
2 Adilabad Adilabad Rural District 364
3 Adilabad Adilabad Urban District 913
4 Adilabad Tamsi Total Sub-District 1277
5 Adilabad Tamsi Rural Sub-District 364
6 Adilabad Tamsi Urban Sub-District 913
7 Adilabad Tamsi Rural Village 117
8 Adilabad Tamsi Rural Village 247
9 Adilabad Tamsi Urban Town 614
10 Adilabad Tamsi Urban Town 299
ある意味で後続の各列は、前の列の一種のサブセットです。地方、都市、および総レベルでの準地区と地区の合計かどうかを検証する必要があります。
例: 行 7 と行 8 の合計は、行 5 の値に等しくなります。行 5 は地方のサブ地区です。df を拡張すると、多くの地方のサブ地区があります。行 2 の農村地区には、すべての農村地区の合計が表示されます。
最小限の期待される出力は次のようになります。
District Subdistt TRU Level No_HH
1 Adilabad Tamsi Rural Sub-District 364
2 Adilabad Tamsi Urban Sub-District 913
364 は上記の最小の例で与えられた 117 + 247 の合計であり、913 は最小の例で与えられた行 614 + 299 の合計の合計です。
現在、特定の値にサブセット化できますが、これらの複雑な選択に基づいて合計する方法がわかりません。誰か助けてくれませんか?