So konvertieren sie mehrere spalten mit dplyr in faktor
Sie können die folgenden Methoden verwenden, um mehrere Spalten mithilfe von Funktionen im dplyr- Paket in Faktor umzuwandeln:
Methode 1: Konvertieren Sie bestimmte Spalten in einen Faktor
library (dplyr) df %>% mutate_at(c(' col1 ', ' col2 '), as. factor )
Methode 2: Konvertieren Sie alle Zeichenspalten in Faktor
library (dplyr) df %>% mutate_if(is. character , as. factor )
Die folgenden Beispiele zeigen, wie die einzelnen Methoden in der Praxis angewendet werden.
Beispiel 1: Bestimmte Spalten in Faktor umwandeln
Angenommen, wir haben den folgenden Datenrahmen in R:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C', 'C', 'D'),
position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
starter=c('Y', 'Y', 'Y', 'N', 'N', 'Y', 'N', 'N'),
points=c(12, 24, 25, 35, 30, 14, 19, 11))
#view structure of data frame
str(df)
'data.frame': 8 obs. of 4 variables:
$ team: chr "A" "A" "A" "B" ...
$position: chr "G" "G" "F" "F" ...
$ starter: chr "Y" "Y" "Y" "N" ...
$ points: num 12 24 25 35 30 14 19 11
Wir können sehen, dass die Spalten „ Team “, „Position “ und „ Starter “ aus Zeichen bestehen, während die Spalte „ Punkte“ numerisch ist.
Um nur die Team- und Positionsspalten in Faktoren umzuwandeln, können wir die folgende Syntax verwenden:
library (dplyr) #convert team and position columns to factor df <- df %>% mutate_at(c(' team ', ' position '), as. factor ) #view structure of updated data frame str(df) 'data.frame': 8 obs. of 4 variables: $ team: Factor w/ 4 levels "A","B","C","D": 1 1 1 2 2 3 3 4 $ position: Factor w/ 2 levels "F","G": 2 2 1 1 2 2 1 1 $ starter: chr "Y" "Y" "Y" "N" ... $ points: num 12 24 25 35 30 14 19 11
Wir können sehen, dass die Team- und Positionsspalten jetzt beide Faktoren sind.
Beispiel 2: Konvertieren Sie alle Zeichenspalten in Faktor
Angenommen, wir haben den folgenden Datenrahmen in R:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C', 'C', 'D'),
position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
starter=c('Y', 'Y', 'Y', 'N', 'N', 'Y', 'N', 'N'),
points=c(12, 24, 25, 35, 30, 14, 19, 11))
#view structure of data frame
str(df)
'data.frame': 8 obs. of 4 variables:
$ team: chr "A" "A" "A" "B" ...
$position: chr "G" "G" "F" "F" ...
$ starter: chr "Y" "Y" "Y" "N" ...
$ points: num 12 24 25 35 30 14 19 11
Wir können sehen, dass drei der Spalten im Datenrahmen Zeichenspalten sind.
Um alle Zeichenspalten in Faktoren umzuwandeln, können wir die folgende Syntax verwenden:
library (dplyr) #convert all character columns to factor df <- df %>% mutate_if(is. character , as. factor ) #view structure of updated data frame str(df) 'data.frame': 8 obs. of 4 variables: $ team: Factor w/ 4 levels "A","B","C","D": 1 1 1 2 2 3 3 4 $ position: Factor w/ 2 levels "F","G": 2 2 1 1 2 2 1 1 $ starter: Factor w/ 2 levels "N","Y": 2 2 2 1 1 2 1 1 $ points: num 12 24 25 35 30 14 19 11
Wir können sehen, dass alle Zeichenspalten jetzt Faktoren sind.
Hinweis : Eine vollständige Erläuterung der Funktionen mutate_at und mutate_if finden Sie auf der dplyr-Dokumentationsseite .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in R ausgeführt werden:
So konvertieren Sie mehrere Spalten mit dplyr in numerische Spalten
So konvertieren Sie einen Faktor in R in einen numerischen Faktor
So konvertieren Sie ein Datum in R in ein numerisches Datum