Comment utiliser la fonction tapply() dans R (avec exemples)
La fonction tapply() dans R peut être utilisée pour appliquer une fonction à un vecteur, regroupé par un autre vecteur.
Cette fonction utilise la syntaxe de base suivante :
tapper(X, INDEX, FUN, ..)
où:
- X : Un vecteur auquel appliquer une fonction
- INDEX : Un vecteur à regrouper
- FUN : La fonction à appliquer
Les exemples suivants montrent comment utiliser cette fonction en pratique avec le bloc de données suivant dans 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 A G 14 4
2 A G 19 3
3 A F 13 3
4 A F 8 5
5 B G 15 9
6 B G 15 14
7 B F 17 15
8 B F 19 12
Exemple 1 : appliquer une fonction à une variable, regroupée par une variable
Le code suivant montre comment utiliser la fonction tapply() pour calculer la valeur moyenne des points , regroupés par équipe :
#calculate mean of points, grouped by team
tapply(df$points, df$team, mean)
A B
13.5 16.5
À partir du résultat, nous pouvons voir :
- La valeur moyenne des points de l’équipe A est de 13,5 .
- La valeur moyenne des points de l’équipe B est de 16,5 .
Notez que vous pouvez également inclure des arguments supplémentaires après la fonction, tels que na.rm , pour indiquer que vous souhaitez calculer la moyenne tout en ignorant les valeurs NA dans le bloc de données :
#calculate mean of points, grouped by team
tapply(df$points, df$team, mean, na.rm=TRUE)
A B
13.5 16.5
Exemple 2 : appliquer une fonction à une variable, regroupée par plusieurs variables
Le code suivant montre comment utiliser la fonction tapply() pour calculer la valeur moyenne des points , regroupés par équipe et position :
#calculate mean of points, grouped by team and position
tapply(df$points, list(df$team, df$position), mean, na.rm=TRUE)
F G
A 10.5 16.5
B 18.0 15.0
À partir du résultat, nous pouvons voir :
- La valeur moyenne des points de l’équipe A et de la position F est de 10,5 .
- La valeur moyenne des points de l’équipe A et de la position G est de 16,5 .
- La valeur moyenne des points de l’équipe B et de la position F est de 18,0 .
- La valeur moyenne des points de l’équipe B et de la position G est de 15,0 .
Remarque : Dans cet exemple, nous avons regroupé par deux variables, mais nous pouvons inclure autant de variables que nous le souhaitons dans la fonction list() pour regrouper encore plus de variables.
Ressources additionnelles
Les didacticiels suivants expliquent comment utiliser d’autres fonctions courantes dans R :
Comment utiliser la fonction dim() dans R
Comment utiliser la fonction table() dans R
Comment utiliser la fonction sign() dans R