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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert