Читать книгу R für Data Science - Hadley Wickham - Страница 69

Gruppieren nach mehreren Variablen

Оглавление

Wenn Sie nach mehreren Variablen gruppieren, zieht jede Zusammenfassung eine Gruppierungsebene ab. Dadurch ist es leicht, ein Datenset schrittweise zu verdichten:

daily <- group_by(flights, year, month, day)

(per_day <- summarize(daily, flights = n()))

#> Source: local data frame [365 x 4]

#> Groups: year, month [?]

#>

#> year month day flights

#> <int> <int> <int> <int>

#> 1 2013 1 1 842

#> 2 2013 1 2 943

#> 3 2013 1 3 914

#> 4 2013 1 4 915

#> 5 2013 1 5 720

#> 6 2013 1 6 832

#> # ... with 359 more rows

(per_month <- summarize(per_day, flights = sum(flights)))

#> Source: local data frame [12 x 3]

#> Groups: year [?]

#>

#> year month flights

#> <int> <int> <int>

#> 1 2013 1 27004

#> 2 2013 2 24951

#> 3 2013 3 28834

#> 4 2013 4 28330

#> 5 2013 5 28796

#> 6 2013 6 28243

#> # ... with 6 more rows

(per_year <- summarize(per_month, flights = sum(flights)))

#> # A tibble: 1 × 2

#> year flights

#> <int> <int>

#> 1 2013 336776

Seien Sie vorsichtig, wenn Sie Zusammenfassungen schrittweise verdichten: Für Summen und Anzahlen ist das in Ordnung, doch Sie müssen die Gewichtungen bei Mittelwerten und Varianzen berücksichtigen. Zudem ist es nicht möglich, genaue Berechnungen für Rang-basierte Statistikdaten wie den Median anzustellen. Mit anderen Worten ist die Summe von gruppierten Summen die Gesamtsumme, doch der Median von gruppierten Medianen ist nicht der Gesamtmedian.

R für Data Science

Подняться наверх