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