Diviser la colonne en deux colonnes dans R
-
Utilisez la fonction
separate
pour diviser la colonne en deux colonnes dans R -
Utilisez la fonction
extract
pour diviser la colonne en deux colonnes dans R -
Utilisez la fonction
str_split_fixed
pour diviser la colonne en deux colonnes dans R
Cet article présentera comment diviser une colonne en deux colonnes en utilisant separate
dans R.
Utilisez la fonction separate
pour diviser la colonne en deux colonnes dans R
separate
fait partie du package tidyr
et peut être utilisé pour diviser une colonne de caractères en plusieurs colonnes avec des expressions régulières ou des emplacements numériques. Dans cet exemple de code, nous déclarons une DataFrame qui contient des chaînes de paires nom/prénom séparées par des virgules. La fonction separate
prend le cadre de données comme premier argument et le nom de colonne comme deuxième argument. Le troisième argument désigne les noms de variables qui seront les noms de colonnes d’un vecteur de caractères nouvellement créé. Notez que nous utilisons le tube %>%
pour passer l’objet df
à la fonction separate
. Le même appel de fonction peut être invoqué sur le bloc de données où les noms et prénoms sont délimités par un séparateur de points.
library(dplyr)
library(tidyr)
library(stringr)
df <- data.frame(x = c('John, Mae', 'Maude, Lebowski', 'Mia, Amy', 'Andy, James'))
df1 <- data.frame(x = c('John. Mae', 'Maude. Lebowski', 'Mia. Amy', 'Andy. James'))
df %>% separate(x, c('Name', 'Surname'))
df1 %>% separate(x, c('Name', 'Surname'))
Production:
> df %>% separate(x, c('Name', 'Surname'))
Name Surname
1 John Mae
2 Maude Lebowski
3 Mia Amy
4 Andy James
> df1 %>% separate(x, c('Name', 'Surname'))
Name Surname
1 John Mae
2 Maude Lebowski
3 Mia Amy
4 Andy James
Utilisez la fonction extract
pour diviser la colonne en deux colonnes dans R
Une autre fonction utile pour diviser une colonne en deux colonnes distinctes est extract
, qui fait également partie du package tidyr
. La fonction extract
fonctionne sur les colonnes utilisant des groupes d’expressions régulières. Notez que chaque groupe d’expressions régulières doit être mappé sur les éléments du paramètre précédent. Si les groupes et les éléments ne correspondent pas, la sortie aura des valeurs NA
.
library(dplyr)
library(tidyr)
library(stringr)
df <- data.frame(x = c('John, Mae', 'Maude, Lebowski', 'Mia, Amy', 'Andy, James'))
df %>% extract(x, c("Name", "Surname"), "([^,]+), ([^)]+)")
Production:
> df %>% extract(x, c("Name", "Surname"), "([^,]+), ([^)]+)")
Name Surname
1 John Mae
2 Maude Lebowski
3 Mia Amy
4 Andy James
Utilisez la fonction str_split_fixed
pour diviser la colonne en deux colonnes dans R
Alternativement, nous pouvons utiliser la fonction str_split_fixed
du package stringr
. Il correspond au modèle de caractère donné et divise le vecteur de caractère en le nombre correspondant de colonnes. Cependant, l’utilisateur peut explicitement transmettre le nombre d’éléments fractionnés à renvoyer. Le nombre d’éléments est passé comme troisième argument.
library(dplyr)
library(tidyr)
library(stringr)
df <- data.frame(x = c('John, Mae', 'Maude, Lebowski', 'Mia, Amy', 'Andy, James'))
str_split_fixed(df$x, ", ", 2)
Production:
> str_split_fixed(df$x, ", ", 2)
[,1] [,2]
[1,] "John" "Mae"
[2,] "Maude" "Lebowski"
[3,] "Mia" "Amy"
[4,] "Andy" "James"
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook