So verwenden sie die funktion tapply() in r (mit beispielen)


Die Funktion tapply() in R kann verwendet werden, um eine Funktion auf einen Vektor anzuwenden, der durch einen anderen Vektor gruppiert ist.

Diese Funktion verwendet die folgende grundlegende Syntax:

tapper(X, INDEX, FUN, ..)

Gold:

  • X : Ein Vektor, auf den eine Funktion angewendet werden soll
  • INDEX : Ein zu gruppierender Vektor
  • SPASS : Die anzuwendende Funktion

Die folgenden Beispiele zeigen, wie diese Funktion in der Praxis mit dem folgenden Datenrahmen in R verwendet wird:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(14, 19, 13, 8, 15, 15, 17, 19),
                 assists=c(4, 3, 3, 5, 9, 14, 15, 12))

#view data frame
df

  team position points assists
1 AG 14 4
2 AG 19 3
3 AF 13 3
4 AF 8 5
5 BG 15 9
6 BG 15 14
7 BF 17 15
8 BF 19 12

Beispiel 1: Anwenden einer Funktion auf eine Variable, gruppiert nach einer Variablen

Der folgende Code zeigt, wie Sie mit der Funktion tapply() den durchschnittlichen Punktwert , gruppiert nach Team, berechnen:

 #calculate mean of points, grouped by team
tapply(df$points, df$team, mean)

   AB
13.5 16.5

Aus dem Ergebnis können wir sehen:

  • Der durchschnittliche Punktwert von Team A beträgt 13,5 .
  • Der durchschnittliche Punktwert von Team B beträgt 16,5 .

Beachten Sie, dass Sie nach der Funktion auch zusätzliche Argumente einfügen können, z. B. na.rm , um anzugeben, dass Sie den Durchschnitt berechnen und dabei die NA-Werte im Datenrahmen ignorieren möchten:

 #calculate mean of points, grouped by team
tapply(df$points, df$team, mean, na. rm = TRUE )

   AB
13.5 16.5

Beispiel 2: Anwenden einer Funktion auf eine Variable, gruppiert nach mehreren Variablen

Der folgende Code zeigt, wie Sie mit der Funktion tapply() den durchschnittlichen Punktwert , gruppiert nach Team und Position , berechnen:

 # calculate mean of points, grouped by team and position
tapply(df$points, list(df$team, df$position), mean, na. rm = TRUE )

FG
A 10.5 16.5
B 18.0 15.0

Aus dem Ergebnis können wir sehen:

  • Der durchschnittliche Punktwert von Team A und Position F beträgt 10,5 .
  • Der durchschnittliche Punktwert von Team A und Position G beträgt 16,5 .
  • Der durchschnittliche Punktwert von Team B und Position F beträgt 18,0 .
  • Der durchschnittliche Punktwert von Team B und Position G beträgt 15,0 .

Hinweis : In diesem Beispiel haben wir nach zwei Variablen gruppiert, aber wir können so viele Variablen in die Funktion list() aufnehmen, wie wir möchten, um noch mehr Variablen zu gruppieren.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere gängige Funktionen in R verwenden:

So verwenden Sie die Funktion dim() in R
So verwenden Sie die Funktion table() in R
So verwenden Sie die Funktion sign() in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert