Comment utiliser une fonction séparée dans R (avec des exemples)
La fonction Separate() du package Tidyr peut être utilisée pour séparer une colonne de bloc de données en plusieurs colonnes.
Cette fonction utilise la syntaxe de base suivante :
séparé (données, col, into, sep)
où:
- data : Nom de la trame de données
- col : Nom de la colonne à séparer
- into : Vecteur de noms pour la colonne à séparer en
- sep : La valeur pour séparer la colonne à
Les exemples suivants montrent comment utiliser cette fonction dans la pratique.
Exemple 1 : séparer la colonne en deux colonnes
Supposons que nous ayons le bloc de données suivant dans R :
#create data frame df <- data.frame(player=c('A', 'A', 'B', 'B', 'C', 'C'), year=c(1, 2, 1, 2, 1, 2), stats=c('22-2', '29-3', '18-6', '11-8', '12-5', '19-2')) #view data frame df player year stats 1 A 1 22-2 2 A 2 29-3 3 B 1 18-6 4 B 2 11-8 5 C 1 12-5 6 C 2 19-2
Nous pouvons utiliser la fonction Separate() pour séparer la colonne stats en deux nouvelles colonnes appelées « points » et « assists » comme suit :
library(tidyr) #separate stats column into points and assists columns separate(df, col=stats, into=c('points', 'assists'), sep='-') player year points assists 1 A 1 22 2 2 A 2 29 3 3 B 1 18 6 4 B 2 11 8 5 C 1 12 5 6 C 2 19 2
Exemple 2 : séparer la colonne en plus de deux colonnes
Supposons que nous ayons le bloc de données suivant dans R :
#create data frame df2 <- data.frame(player=c('A', 'A', 'B', 'B', 'C', 'C'), year=c(1, 2, 1, 2, 1, 2), stats=c('22/2/3', '29/3/4', '18/6/7', '11/1/2', '12/1/1', '19/2/4')) #view data frame df2 player year stats 1 A 1 22/2/3 2 A 2 29/3/4 3 B 1 18/6/7 4 B 2 11/1/2 5 C 1 12/1/1 6 C 2 19/2/4
Nous pouvons utiliser la fonction Separate() pour séparer la colonne stats en trois colonnes distinctes :
library(tidyr) #separate stats column into three new columns separate(df, col=stats, into=c('points', 'assists', 'steals'), sep='/') player year points assists steals 1 A 1 22 2 3 2 A 2 29 3 4 3 B 1 18 6 7 4 B 2 11 1 2 5 C 1 12 1 1 6 C 2 19 2 4
Ressources additionnelles
L’objectif du package Tidyr est de créer des données « ordonnées », qui présentent les caractéristiques suivantes :
- Chaque colonne est une variable.
- Chaque ligne est une observation.
- Chaque cellule est une valeur unique.
Le package Tidyr utilise quatre fonctions principales pour créer des données ordonnées :
1. La fonction spread() .
2. La fonction rassembler() .
3. La fonction séparée() .
4. La fonction unit() .
Si vous maîtrisez ces quatre fonctions, vous serez en mesure de créer des données « ordonnées » à partir de n’importe quelle trame de données.