Spalte in R in zwei Spalten aufteilen
-
Verwenden Sie die Funktion
separate
, um eine Spalte in R . in zwei Spalten aufzuteilen -
Verwenden Sie die Funktion
extract
, um die Spalte in R . in zwei Spalten aufzuteilen -
Verwenden Sie die Funktion
str_split_fixed
, um eine Spalte in R . in zwei Spalten aufzuteilen
In diesem Artikel erfahren Sie, wie Sie mit separate
in R eine Spalte in zwei Spalten aufteilen.
Verwenden Sie die Funktion separate
, um eine Spalte in R . in zwei Spalten aufzuteilen
separate
ist Teil des tidyr
-Pakets und kann verwendet werden, um eine Zeichenspalte in mehrere Spalten mit regulären Ausdrücken oder numerischen Positionen aufzuteilen. In diesem Codebeispiel deklarieren wir einen DataFrame, der durch Kommas getrennte Zeichenketten von Vornamen/Nachnamen-Paaren enthält. Die Funktion separate
nimmt den DataFrame als erstes Argument und den Spaltennamen als zweites Argument. Das dritte Argument bezeichnet die Variablennamen, die Spaltennamen eines neu erstellten Zeichenvektors sein werden. Beachten Sie, dass wir die %>%
-Pipe verwenden, um das df
-Objekt an die separate
-Funktion zu übergeben. Der gleiche Funktionsaufruf kann für den DataFrame aufgerufen werden, bei dem Vor- und Nachnamen mit einem Punkttrennzeichen getrennt sind.
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'))
Ausgabe:
> 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
Verwenden Sie die Funktion extract
, um die Spalte in R . in zwei Spalten aufzuteilen
Eine weitere nützliche Funktion, um eine Spalte in zwei separate zu teilen, ist extract
, die ebenfalls im Paket tidyr
enthalten ist. Die Funktion extract
arbeitet mit Spalten, die Gruppen mit regulären Ausdrücken verwenden. Beachten Sie, dass jede Gruppe regulärer Ausdrücke den Elementen im vorherigen Parameter zugeordnet werden sollte. Wenn die Gruppen und Elemente nicht übereinstimmen, hat die Ausgabe NA
-Werte.
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"), "([^,]+), ([^)]+)")
Ausgabe:
> df %>% extract(x, c("Name", "Surname"), "([^,]+), ([^)]+)")
Name Surname
1 John Mae
2 Maude Lebowski
3 Mia Amy
4 Andy James
Verwenden Sie die Funktion str_split_fixed
, um eine Spalte in R . in zwei Spalten aufzuteilen
Alternativ können wir die Funktion str_split_fixed
aus dem Paket stringr
verwenden. Es entspricht dem angegebenen Zeichenmuster und teilt den Zeichenvektor in die entsprechende Anzahl von Spalten auf. Der Benutzer kann jedoch die Anzahl der zurückzugebenden geteilten Elemente explizit übergeben. Als drittes Argument wird die Anzahl der Elemente übergeben.
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)
Ausgabe:
> 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