R-Aggregatfunktionen: summarise() & group_by() Beispiel
โก Intelligente Zusammenfassung
Die Aggregatfunktion in R mit dplyr fasst mehrere Zeilen zu einer einzigen Statistik pro Gruppe zusammen. Diese Anleitung kombiniert `group_by()` mit `summarise()` anhand der Schlagstatistik von Lahman, um Mittelwerte, Summen, Streuungen, Anzahlen und Positionswerte รผber 104,324 Beobachtungen zu berechnen.

In diesem Tutorial verwendeter Datensatz
Die Zusammenfassung einer Variablen vermittelt einen ersten Eindruck der Daten, wรคhrend die Zusammenfassung nach Gruppen wesentlich mehr รผber die Verteilung der Werte aussagt. Dieses Tutorial zeigt, wie man mit der dplyr-Bibliothek einen Datensatz nach Gruppen aggregiert.
Dieses Tutorial verwendet den Lahman-Schlagdatensatz. Nach dem Importieren und Speichernping Abgesehen von den neun unten aufgefรผhrten Spalten enthรคlt der Arbeitsdatenrahmen 104,324 Beobachtungen und 9 Variablen:
- Spieler-ID: Spieler-ID-Code. Faktor
- yearID: Jahr. Faktor
- TeamID: Team. Faktor
- lgID: Liga. Faktor: AA AL FL NL PL UA
- AB: Bei Fledermรคusen. Numerisch
- G: Spiele: Anzahl der Spiele eines Spielers. Numerisch
- R: Lรคuft. Numerisch
- HR: Homeruns. Numerisch
- SH: Sacrifice trifft. Numerisch
Bevor Sie eine Zusammenfassung durchfรผhren, fรผhren Sie die folgenden Schritte aus, um die Daten vorzubereiten:
- Schritt 1: Importieren Sie die Daten
- Schritt 2: Wรคhlen Sie die relevanten Variablen aus
- Schritt 3: Sortieren Sie die Daten
library(dplyr) # Step 1 data <- read.csv("https://raw.githubusercontent.com/guru99-edu/R-Programming/master/lahman-batting.csv") %>% # Step 2 select(c(playerID, yearID, AB, teamID, lgID, G, R, HR, SH)) %>% # Step 3 arrange(playerID, teamID, yearID)
Eine gute Vorgehensweise beim Importieren eines Datensatzes besteht darin, die Funktion glimpse() zu verwenden, um eine Vorstellung von der Struktur des Datensatzes zu erhalten.
# Structure of the data glimpse(data)
Ausgang:
Observations: 104,324 Variables: 9 $ playerID <fctr> aardsda01, aardsda01, aardsda01, aardsda01, aardsda01, a... $ yearID <int> 2015, 2008, 2007, 2006, 2012, 2013, 2009, 2010, 2004, 196... $ AB <int> 1, 1, 0, 2, 0, 0, 0, 0, 0, 603, 600, 606, 547, 516, 495, ... $ teamID <fctr> ATL, BOS, CHA, CHN, NYA, NYN, SEA, SEA, SFN, ATL, ATL, A... $ lgID <fctr> NL, AL, AL, NL, AL, NL, AL, AL, NL, NL, NL, NL, NL, NL, ... $ G <int> 33, 47, 25, 45, 1, 43, 73, 53, 11, 158, 155, 160, 147, 15... $ R <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 113, 84, 100, 103, 95, 75... $ HR <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 39, 29, 44, 38, 47, 34, 40... $ SH <int> 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, ...
zusammenfassen()
Die Syntax von summarise() ist einfach und konsistent mit den anderen in der dplyr-Bibliothek enthaltenen Verben.
summarise(df, variable_name=condition) arguments: - `df`: Dataset used to construct the summary statistics - `variable_name=condition`: Formula to create the new variable
Schauen Sie sich den folgenden Code an:
summarise(data, mean_run =mean(R))
Code Erlรคuterung
- summarise(data, mean_run = mean(R)): Erstellt eine Variable mit dem Namen mean_run, die den Durchschnitt des Spaltenlaufs aus den Datensatzdaten darstellt.
Ausgang:
## mean_run ## 1 19.20114
Sie kรถnnen so viele Variablen hinzufรผgen, wie Sie mรถchten. Sie erhalten die durchschnittliche Anzahl gespielter Spiele und die durchschnittlichen Opfertreffer.
summarise(data, mean_games = mean(G), mean_SH = mean(SH, na.rm = TRUE))
Code Erlรคuterung
- mean_SH = mean(SH, na.rm = TRUE): Fassen Sie eine zweite Variable zusammen. Sie setzen na.rm = TRUE, weil die Spalte SH fehlende Beobachtungen enthรคlt.
Ausgang:
## mean_games mean_SH ## 1 51.98361 2.340085
group_by() vs Kein group_by()
Allein verwendet, fasst `summarise()` den gesamten Datenrahmen in einer einzigen Zeile zusammen, wie die obigen Beispiele zeigen. Seine wahre Stรคrke offenbart sich jedoch erst in Kombination mit `group_by()`: dplyr Die Bibliothek wendet dann die gleiche Berechnung separat auf jede Gruppe an und gibt pro Gruppe eine Zeile zurรผck.
Beachten Sie, dass group_by perfekt mit allen anderen Verben funktioniert (z. B. mutate(), filter(), array(), โฆ).
Es ist praktisch, den Pipeline-Operator zu verwenden, wenn Sie mehr als einen Schritt haben. Sie kรถnnen den durchschnittlichen Homerun pro Baseball-Liga berechnen.
data %>% group_by(lgID) %>% summarise(mean_run = mean(HR))
Code Erlรคuterung
- Daten: Datensatz, der zum Erstellen der zusammenfassenden Statistik verwendet wird
- group_by(lgID): Die Daten werden vor der Zusammenfassung anhand der Werte von lgID aufgeteilt.
- summarise(mean_run = mean(HR)): Berechnen Sie den durchschnittlichen Homerun
Ausgang:
## # A tibble: 7 x 2 ## lgID mean_run ## <fctr> <dbl> ## 1 AA 0.9166667 ## 2 AL 3.1270988 ## 3 FL 1.3131313 ## 4 NL 2.8595953 ## 5 PL 2.5789474 ## 6 UA 0.6216216 ## 7 <NA> 0.2867133
Die Pipe funktioniert auch mit ggplot(), sodass die gesamte Kette von den Rohdaten bis zum fertigen Diagramm in einer einzigen Anweisung verbleibt. Der folgende Code kombiniert group_by(), summarise() und ggplot(), um die durchschnittlichen Home Runs pro Liga als Balkendiagramm darzustellen.
Sie fรผhren den folgenden Schritt aus:
- Schritt 1: Datenrahmen auswรคhlen
- Schritt 2: Daten gruppieren
- Schritt 3: Daten zusammenfassen
- Schritt 4: Zeichnen Sie die zusammenfassenden Statistiken auf
library(ggplot2) # Step 1 data %>% #Step 2 group_by(lgID) %>% #Step 3 summarise(mean_home_run = mean(HR)) %>% #Step 4 ggplot(aes(x = lgID, y = mean_home_run, fill = lgID)) + geom_bar(stat = "identity") + theme_classic() + labs( x = "baseball league", y = "Average home run", title = paste( "Example group_by() with summarise()" ) )
Ausgang:
Funktionen, die Sie innerhalb von summarise() verwenden kรถnnen
Das Verb summarise() ist mit fast allen Funktionen in R kompatibel. Hier ist eine kurze Liste nรผtzlicher Funktionen, die Sie zusammen mit summarise() verwenden kรถnnen:
| Ziel | Funktion | Beschreibung |
|---|---|---|
| Plug-and-Play-Betrieb | bedeuten() | Durchschnitt des Vektors x |
| Median() | Median des Vektors x | |
| Summe() | Summe von Vektor x | |
| Variation | SD() | Standardabweichung des Vektors x |
| IQR() | Interquartil des Vektors x | |
| Abdeckung | min () | Minimum des Vektors x |
| max () | Maximum des Vektors x | |
| Quantil() | Quantil des Vektors x | |
| Position | zuerst() | Verwendung mit group_by() Erste Beobachtung der Gruppe |
| zuletzt() | Verwendung mit group_by(). Letzte Beobachtung der Gruppe | |
| nth() | Verwendung mit group_by(). n. Beobachtung der Gruppe | |
| Zu Zรคhlen | n () | Verwendung mit group_by(). Zรคhlen Sie die Anzahl der Zeilen |
| n_distinct() | Verwendung mit group_by(). Zรคhlen Sie die Anzahl der eindeutigen Beobachtungen |
In den folgenden Abschnitten wird fรผr jede Funktion in der obigen Tabelle ein Beispiel erlรคutert. Wenn Sie mit der Pipe und den anderen Verben noch nicht vertraut sind, beginnen Sie mit dem Abschnitt โPipeโ. Tutorial zum Auswรคhlen, Filtern und Anordnen.
Grundfunktion
Im vorherigen Beispiel haben Sie die Zusammenfassungsstatistik nicht in einem Datenrahmen gespeichert.
Aus einer Zusammenfassung kรถnnen Sie in zwei Schritten einen Datenrahmen erstellen:
- Schritt 1: Speichern Sie den Datenrahmen zur weiteren Verwendung
- Schritt 2: Verwenden Sie den Datensatz, um ein Liniendiagramm zu erstellen
Schritt 1) Sie berechnen die durchschnittliche Anzahl der pro Jahr gespielten Spiele.
## Mean ex1 <- data %>% group_by(yearID) %>% summarise(mean_game_year = mean(G)) head(ex1)
Code Erlรคuterung
- Die zusammenfassende Statistik des Schlagdatensatzes wird im Datenrahmen ex1 gespeichert.
Ausgang:
## # A tibble: 6 x 2 ## yearID mean_game_year ## <int> <dbl> ## 1 1871 23.42308 ## 2 1872 18.37931 ## 3 1873 25.61538 ## 4 1874 39.05263 ## 5 1875 28.39535 ## 6 1876 35.90625
Schritt 2) Sie zeigen die zusammenfassende Statistik mit einem Liniendiagramm an und sehen den Trend.
# Plot the graph ggplot(ex1, aes(x = yearID, y = mean_game_year)) + geom_line() + theme_classic() + labs( x = "Year", y = "Average games played", title = paste( "Average games played from 1871 to 2016" ) )
Ausgang:
Untereinstellung
Die Funktion summarise() ist mit der Untergruppenbildung kompatibel.
## Subsetting + Median data %>% group_by(lgID) %>% summarise(median_at_bat_league = median(AB), #Compute the median without the zero median_at_bat_league_no_zero = median(AB[AB > 0]))
Code Erlรคuterung
- median_at_bat_league_no_zero = median(AB[AB > 0]): Die Variable AB enthรคlt viele 0. Sie kรถnnen den Median der vergleichen Eine Fledermaus Variable mit und ohne 0.
Ausgang:
## # A tibble: 7 x 3 ## lgID median_at_bat_league median_at_bat_league_no_zero ## <fctr> <dbl> <dbl> ## 1 AA 130 131 ## 2 AL 38 85 ## 3 FL 88 97 ## 4 NL 56 67 ## 5 PL 238 238 ## 6 UA 35 35 ## 7 <NA> 101 101
Sum
Eine weitere nรผtzliche Funktion zum Aggregieren der Variablen ist sum().
Sie kรถnnen รผberprรผfen, welche Ligen die meisten Homeruns haben.
## Sum data %>% group_by(lgID) %>% summarise(sum_homerun_league = sum(HR))
Ausgang:
## # A tibble: 7 x 2 ## lgID sum_homerun_league ## <fctr> <int> ## 1 AA 341 ## 2 AL 29426 ## 3 FL 130 ## 4 NL 29817 ## 5 PL 98 ## 6 UA 46 ## 7 <NA> 41
Standardabweichung
Die Streuung der Daten wird mit der Standardabweichung oder sd() in R berechnet.
# Spread data %>% group_by(teamID) %>% summarise(sd_at_bat_league = sd(HR))
Ausgang:
## # A tibble: 148 x 2 ## teamID sd_at_bat_league ## <fctr> <dbl> ## 1 ALT NA ## 2 ANA 8.7816395 ## 3 ARI 6.0765503 ## 4 ATL 8.5363863 ## 5 BAL 7.7350173 ## 6 BFN 1.3645163 ## 7 BFP 0.4472136 ## 8 BL1 0.6992059 ## 9 BL2 1.7106757 ## 10 BL3 1.0000000 ## # ... with 138 more rows
Die Streuung der Home Runs variiert stark zwischen den Teams, und ALT gibt NA zurรผck, da dieses Team nur eine Zeile hat, sodass keine Standardabweichung berechnet werden kann.
Minimum und Maximum
Mit den Funktionen min() und max() kรถnnen Sie auf das Minimum und das Maximum eines Vektors zugreifen.
Der folgende Code gibt die niedrigste und hรถchste Anzahl von Spielen zurรผck, die ein Spieler in einer Saison gespielt hat.
# Min and max data %>% group_by(playerID) %>% summarise(min_G = min(G), max_G = max(G))
Ausgang:
## # A tibble: 10,395 x 3 ## playerID min_G max_G ## <fctr> <int> ## 1 aardsda01 53 73 ## 2 aaronha01 120 156 ## 3 aasedo01 24 66 ## 4 abadfe01 18 18 ## 5 abadijo01 11 11 ## 6 abbated01 3 153 ## 7 abbeybe01 11 11 ## 8 abbeych01 80 132 ## 9 abbotgl01 5 23 ## 10 abbotji01 13 29 ## # ... with 10,385 more rows
Zu Zรคhlen
Es lohnt sich immer, die Beobachtungen pro Gruppe zu zรคhlen. In R gibt die Funktion `n()` die Anzahl der Zeilen in der aktuellen Gruppe zurรผck.
Der folgende Code berechnet beispielsweise die Anzahl der von jedem Spieler gespielten Jahre.
# count observations data %>% group_by(playerID) %>% summarise(number_year = n()) %>% arrange(desc(number_year))
Ausgang:
## # A tibble: 10,395 x 2 ## playerID number_year ## <fctr> <int> ## 1 pennohe01 11 ## 2 joosted01 10 ## 3 mcguide01 10 ## 4 rosepe01 10 ## 5 davisha01 9 ## 6 johnssi01 9 ## 7 kaatji01 9 ## 8 keelewi01 9 ## 9 marshmi01 9 ## 10 quirkja01 9 ## # ... with 10,385 more rows
Erstes und Letztes
Sie kรถnnen die erste, letzte oder n-te Position einer Gruppe auswรคhlen.
Sie kรถnnen beispielsweise das erste und letzte Jahr jedes Spielers finden.
# first and last data %>% group_by(playerID) %>% summarise(first_appearance = first(yearID), last_appearance = last(yearID))
Ausgang:
## # A tibble: 10,395 x 3 ## playerID first_appearance last_appearance ## <fctr> <int> <int> ## 1 aardsda01 2009 2010 ## 2 aaronha01 1973 1975 ## 3 aasedo01 1986 1990 ## 4 abadfe01 2016 2016 ## 5 abadijo01 1875 1875 ## 6 abbated01 1905 1897 ## 7 abbeybe01 1894 1894 ## 8 abbeych01 1895 1897 ## 9 abbotgl01 1973 1979 ## 10 abbotji01 1992 1996 ## # ... with 10,385 more rows
n-te Beobachtung
Die Funktion nth() ergรคnzt first() und last(). Sie gibt die Beobachtung an dem von Ihnen angegebenen Index innerhalb jeder Gruppe zurรผck.
Sie kรถnnen beispielsweise nur das zweite Jahr filtern, in dem eine Mannschaft gespielt hat.
# nth data %>% group_by(teamID) %>% summarise(second_game = nth(yearID, 2)) %>% arrange(second_game)
Ausgang:
## # A tibble: 148 x 2 ## teamID second_game ## <fctr> <int> ## 1 BS1 1871 ## 2 CH1 1871 ## 3 FW1 1871 ## 4 NY2 1871 ## 5 RC1 1871 ## 6 BR1 1872 ## 7 BR2 1872 ## 8 CL1 1872 ## 9 MID 1872 ## 10 TRO 1872 ## # ... with 138 more rows
Unterschiedliche Anzahl von Beobachtungen
Die Funktion `n()` gibt die Anzahl der Zeilen in der aktuellen Gruppe zurรผck. Die zugehรถrige Funktion `n_distinct()` zรคhlt hingegen eindeutige Werte.
Im nรคchsten Beispiel addieren Sie die Gesamtzahl der Spieler, die eine Mannschaft in allen Zeitrรคumen rekrutiert hat.
# distinct values data %>% group_by(teamID) %>% summarise(number_player = n_distinct(playerID)) %>% arrange(desc(number_player))
Code Erlรคuterung
- group_by(teamID): Nach Team gruppieren
- zusammenfassen(Anzahl_Spieler = n_distinct(Spieler-ID): Zรคhle die verschiedenen Spieler pro Team
- array(desc(number_player)): Sortieren Sie die Daten nach der Anzahl der Spieler
Ausgang:
## # A tibble: 148 x 2 ## teamID number_player ## <fctr> <int> ## 1 CHN 751 ## 2 SLN 729 ## 3 PHI 699 ## 4 PIT 683 ## 5 CIN 679 ## 6 BOS 647 ## 7 CLE 646 ## 8 CHA 636 ## 9 DET 623 ## 10 NYA 612 ## # ... with 138 more rows
Mehrere Gruppen
Eine zusammenfassende Statistik kann รผber mehrere Gruppen hinweg erstellt werden.
# Multiple groups data %>% group_by(yearID, teamID) %>% summarise(mean_games = mean(G)) %>% arrange(desc(teamID, yearID))
Code Erlรคuterung
- group_by(yearID, teamID): Nach Jahr gruppieren und Team
- summarise(mean_games = mean(G)): Durchschnittliche Anzahl der gespielten Spiele
- array(desc(teamID, yearID)): Sortieren Sie die Daten nach Team und Jahr
Ausgang:
## # A tibble: 2,829 x 3 ## # Groups: yearID [146] ## yearID teamID mean_games ## <int> <fctr> <dbl> ## 1 1884 WSU 20.41667 ## 2 1891 WS9 46.33333 ## 3 1886 WS8 22.00000 ## 4 1887 WS8 51.00000 ## 5 1888 WS8 27.00000 ## 6 1889 WS8 52.42857 ## 7 1884 WS7 8.00000 ## 8 1875 WS6 14.80000 ## 9 1873 WS5 16.62500 ## 10 1872 WS4 4.20000 ## # ... with 2,819 more rows
Filter
Bevor Sie eine Operation durchfรผhren, kรถnnen Sie den Datensatz filtern. Der Datensatz beginnt im Jahr 1871, und die Jahre vor 1980 werden fรผr die Analyse nicht benรถtigt.
# Filter data %>% filter(yearID > 1980) %>% group_by(yearID) %>% summarise(mean_game_year = mean(G))
Code Erlรคuterung
- filter(yearID > 1980): Filtern Sie die Daten, um nur die relevanten Jahre anzuzeigen (z. B. nach 1980).
- group_by(yearID): Nach Jahr gruppieren
- summarise(mean_game_year = mean(G)): Fassen Sie die Daten zusammen
Ausgang:
## # A tibble: 36 x 2 ## yearID mean_game_year ## <int> <dbl> ## 1 1981 40.64583 ## 2 1982 56.97790 ## 3 1983 60.25128 ## 4 1984 62.97436 ## 5 1985 57.82828 ## 6 1986 58.55340 ## 7 1987 48.74752 ## 8 1988 52.57282 ## 9 1989 58.16425 ## 10 1990 52.91556 ## # ... with 26 more rows
Ungroup
Schlieรlich mรผssen Sie die Gruppierung entfernen.ping Bevor die Ebene geรคndert wird, auf der eine Berechnung ausgefรผhrt wird. Ohne ungroup() wรผrde die zweite summarise()-Funktion weiterhin pro Spieler ausgefรผhrt werden.
# Ungroup the data data %>% filter(HR > 0) %>% group_by(playerID) %>% summarise(average_HR_game = sum(HR) / sum(G)) %>% ungroup() %>% summarise(total_average_homerun = mean(average_HR_game))
Code Erlรคuterung
- filter(HR >0): Null-Homerun ausschlieรen
- group_by(playerID): nach Spieler gruppieren
- zusammenfassen(durchschnittliche_HR_Spiel = Summe(HR)/Summe(G)): Durchschnittlichen Homerun pro Spieler berechnen
- ungroup(): Entfernt die Gruppierungping
- summarise(total_average_homerun = mean(average_HR_game)): Fassen Sie die Daten zusammen
Ausgang:
## # A tibble: 1 x 1 ## total_average_homerun ## <dbl> ## 1 0.06882226
Wie man mehrere Spalten mit across() zusammenfasst
In den obigen Beispielen wird jeweils eine Spalte einzeln aufgefรผhrt. Wird dieselbe Statistik fรผr mehrere Spalten benรถtigt, wendet die Funktion `cross()` sie mit einem einzigen Aufruf auf alle Spalten an.
# One function, several columns data %>% group_by(lgID) %>% summarise(across(c(R, HR, G), mean, .names = "mean_{.col}")) # Every numeric column at once data %>% group_by(lgID) %>% summarise(across(where(is.numeric), mean, na.rm = TRUE)) # Several functions applied to several columns data %>% group_by(teamID) %>% summarise(across(c(R, HR), list(avg = mean, total = sum)))
Drei Argumente bestimmen das Verhalten:
- .cols: die Spalten, auf die reagiert werden soll, geschrieben mit denselben Hilfsfunktionen wie select(), einschlieรlich where(is.numeric).
- .fns: eine Funktion oder eine benannte Liste von Funktionen, die auf jede Spalte angewendet werden sollen.
- .names: das Namensmuster fรผr die Ausgabe, wobei {.col} die Spalte und {.fn} der Funktionsname ist.
Die Funktion `cross()` hat in dplyr 1.0.0 die รคlteren Hilfsfunktionen `summarise_all()`, `summarise_at()` und `summarise_if()` ersetzt. Diese funktionieren zwar noch, sind aber veraltet, daher sollte neuer Code `cross()` verwenden.
Hรคufige Fehler bei der Verwendung von summarise() und wie man sie behebt
Vier Probleme sind fรผr die meisten fehlgeschlagenen Aggregationen verantwortlich.
- Das Ergebnis ist NA. Die Funktionen `mean()` und `sum()` geben `NA` zurรผck, wenn ein Wert fehlt. Fรผgen Sie `na.rm = TRUE` hinzu, wie es im obigen Beispiel mit `mean_SH` der Fall ist.
- Die Meldung โsummarise() hat gruppierte Ausgabeโ wird angezeigt. Grouping Die Gruppierung nach zwei Variablen fรผhrt dazu, dass das Ergebnis nach der ersten Variable gruppiert wird. Mit `.groups = "drop"` wird die Gruppierung entfernt.pingoder rufen Sie anschlieรend ungroup() auf.
- Eine spรคtere Berechnung ergibt den falschen Wert. Ein Dataframe bleibt gruppiert, bis man die Gruppierung aufhebt; daher wird fรผr jede Gruppe weiterhin ein zweites `summarise()` ausgefรผhrt. Genau das demonstriert das Beispiel mit `ungroup()`.
- Die Ausgabe enthรคlt mehr Zeilen als erwartet. summarise() gibt eine Zeile pro Gruppe zurรผck, sodass eine unbeabsichtigte Gruppe entsteht.ping Die Variable multipliziert die Ausgabe. รberprรผfen Sie die Zeile โGroups:โ, die รผber einem beliebigen Tibble ausgegeben wird.
# Drop the grouping as part of the call data %>% group_by(yearID, teamID) %>% summarise(mean_games = mean(G), .groups = "drop")
summarise() in R: Funktionsreferenz
Um eine Zusammenfassung nach Gruppen zu erhalten, teilen Sie die Daten zuerst auf:
# group by X1, X2, X3 group_by(df, X1, X2, X3)
und entfernen Sie die Masseping wenn sich die Berechnungsebene รคndert:
ungroup(df)
Die folgende Tabelle listet alle Funktionen auf, die in diesem Tutorial mit summarise() verwendet werden:
| Methodik | Funktion | Code |
|---|---|---|
| bedeuten | bedeuten |
summarise(df, mean_x1 = mean(x1))
|
| mittlere | mittlere |
summarise(df, median_x1 = median(x1)) |
| Summe | Summe |
summarise(df, sum_x1 = sum(x1))
|
| Standardabweichung | sd |
summarise(df, sd_x1 = sd(x1)) |
| Interquartil | IQR |
summarise(df, interquartile_x1 = IQR(x1)) |
| Minimum | min |
summarise(df, minimum_x1 = min(x1)) |
| maximal | max |
summarise(df, maximum_x1 = max(x1))
|
| Quantil | Quantil |
summarise(df, quantile_x1 = quantile(x1, probs = 0.75))
|
| erste Beobachtung | zuerst |
summarise(df, first_x1 = first(x1)) |
| letzte Beobachtung | letzte |
summarise(df, last_x1 = last(x1)) |
| n-te Beobachtung | nth |
summarise(df, nth_x1 = nth(x1, 2)) |
| Anzahl des Vorkommens | n |
summarise(df, n_x1 = n()) |
| Anzahl unterschiedlicher Vorkommnisse | n_distinct |
summarise(df, n_distinct_x1 = n_distinct(x1)) |


