Come utilizzare la funzione tapply() in r (con esempi)


La funzione tapply() in R può essere utilizzata per applicare una funzione a un vettore, raggruppato da un altro vettore.

Questa funzione utilizza la seguente sintassi di base:

tapper(X, INDICE, DIVERTIMENTO, ..)

Oro:

  • X : un vettore a cui applicare una funzione
  • INDICE : Un vettore da raggruppare
  • FUN : La funzione da applicare

I seguenti esempi mostrano come utilizzare in pratica questa funzione con il seguente frame di dati in R:

 #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

Esempio 1: applicare una funzione ad una variabile, raggruppata per una variabile

Il codice seguente mostra come utilizzare la funzione tapply() per calcolare il valore del punto medio, raggruppato per squadra :

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

   AB
13.5 16.5

Dal risultato possiamo vedere:

  • Il valore medio dei punti della squadra A è 13,5 .
  • Il valore medio dei punti della squadra B è 16,5 .

Tieni presente che puoi anche includere argomenti aggiuntivi dopo la funzione, come na.rm , per indicare che desideri calcolare la media ignorando i valori NA nel frame di dati:

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

   AB
13.5 16.5

Esempio 2: applicare una funzione ad una variabile, raggruppata per più variabili

Il codice seguente mostra come utilizzare la funzione tapply() per calcolare il valore del punto medio, raggruppato per squadra e posizione :

 # 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

Dal risultato possiamo vedere:

  • Il valore medio dei punti della squadra A e della posizione F è 10,5 .
  • Il valore medio dei punti della squadra A e della posizione G è 16,5 .
  • Il valore medio dei punti della squadra B e della posizione F è 18,0 .
  • Il valore medio dei punti della squadra B e della posizione G è 15,0 .

Nota : in questo esempio abbiamo raggruppato per due variabili, ma possiamo includere quante variabili vogliamo nella funzione list() per raggruppare ancora più variabili.

Risorse addizionali

I seguenti tutorial spiegano come utilizzare altre funzioni comuni in R:

Come utilizzare la funzione dim() in R
Come utilizzare la funzione table() in R
Come utilizzare la funzione sign() in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *