表示按组的子组

时间:2017-07-27 13:45:38

标签: r aggregate mean levels

我有以下3个感兴趣的变量的数据(Kanton,Öffentlich_Privat,Value) Kanton有26个级别,Öffenlich_Privat有2个级别。我现在想要汇总每个ÖffentlichPrivat级别的每个州的总和。我知道代码是按组进行的,但是如何将它降低两级呢?

aggregate(data$Wert, list(data$Kanton), mean)

  > head(data)
 Jahr Forstzone  Kanton         Eigentümertyp               Variable    Wert Privat_Öffentlich
1: 1975   Schweiz Schweiz Eigentümertyp - Total  Anzahl Waldeigentümer  261471             Total
2: 1975   Schweiz Schweiz Eigentümertyp - Total    Gesamte Waldflächen 1114137             Total
3: 1975   Schweiz Schweiz Eigentümertyp - Total Produktive Waldflächen  978221             Total
4: 1975   Schweiz Schweiz          Privatwälder  Anzahl Waldeigentümer  257722            Privat
5: 1975   Schweiz Schweiz          Privatwälder    Gesamte Waldflächen  297443            Privat
6: 1975   Schweiz Schweiz          Privatwälder Produktive Waldflächen  297443            Privat

1 个答案:

答案 0 :(得分:1)

library(tidyverse)
data %>% group_by(`Öffentlich Privat`, Kanton) %>%
  summarise(Total = sum(Value, na.rm=TRUE))