HOWTO · R

Spalte in R in zwei Spalten aufteilen

Dieser Artikel zeigt, wie Sie eine Spalte mit der separaten Funktion in R . in zwei Spalten aufteilen

Auf dieser Seite

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"