Comment utiliser la fonction split() dans R pour diviser les données
La fonction split() dans R peut être utilisée pour diviser les données en groupes en fonction des niveaux de facteurs.
Cette fonction utilise la syntaxe de base suivante :
diviser(x, f, …)
où:
- x : Nom du vecteur ou du bloc de données à diviser en groupes
- f : Un facteur qui définit les regroupements
Les exemples suivants montrent comment utiliser cette fonction pour diviser des vecteurs et des trames de données en groupes.
Exemple 1 : utilisez split() pour diviser le vecteur en groupes
Le code suivant montre comment diviser un vecteur de valeurs de données en groupes en fonction d’un vecteur de niveaux de facteurs :
#create vector of data values data <- c(1, 2, 3, 4, 5, 6) #create vector of groupings groups <- c('A', 'B', 'B', 'B', 'C', 'C') #split vector of data values into groups split(x = data, f = groups) $A [1] 1 $B [1] 2 3 4 $C [1] 5 6
Le résultat est trois groupes.
Notez que vous pouvez également utiliser l’indexation pour récupérer des groupes spécifiques :
#split vector of data values into groups and only display second group
split(x = data, f = groups)[2]
$B
[1] 2 3 4
Exemple 2 : utilisez split() pour diviser le bloc de données en groupes
Supposons que nous ayons le bloc de données suivant dans R :
#create data frame df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'B'), position=c('G', 'G', 'F', 'G', 'F', 'F'), points=c(33, 28, 31, 39, 34, 44), assists=c(30, 28, 24, 24, 28, 19)) #view data frame df team position points assists 1 A G 33 30 2 A G 28 28 3 A F 31 24 4 B G 39 24 5 B F 34 28 6 B F 44 19
Nous pouvons utiliser le code suivant pour diviser le bloc de données en groupes en fonction de la variable « équipe » :
#split data frame into groups based on 'team'
split(df, f = df$team)
$A
team position points assists
1 A G 33 30
2 A G 28 28
3 A F 31 24
$B
team position points assists
4 B G 39 24
5 B F 34 28
6 B F 44 19
Le résultat est deux groupes. Le premier contient uniquement les lignes où « équipe » est égal à A et le second ne contient que les lignes où « équipe » est égal à B.
Notez que nous pouvons également diviser les données en groupes en utilisant plusieurs variables factorielles. Par exemple, le code suivant montre comment diviser les données en groupes en fonction des variables « équipe » et « position » :
#split data frame into groups based on 'team' and 'position' variables
split(df, f = list(df$team, df$position))
$A.F
team position points assists
3 A F 31 24
$B.F
team position points assists
5 B F 34 28
6 B F 44 19
$A.G
team position points assists
1 A G 33 30
2 A G 28 28
$B.G
team position points assists
4 B G 39 24
Le résultat est quatre groupes.
Ressources additionnelles
Les didacticiels suivants expliquent comment utiliser d’autres fonctions courantes dans R :
Comment utiliser la fonction summary() dans R
Comment utiliser la fonction replicate() dans R
Comment utiliser la fonction match() dans R