Dplyr: so ändern sie faktorstufen mit mutate()


Sie können die folgende grundlegende Syntax in dplyr verwenden, um die Ebenen einer Faktorvariablen mithilfe der Funktion mutate() zu ändern:

 library (dplyr)

df <- df %>% mutate(team=recode(team,
                                ' H ' = ' Hawks ',
                                ' M ' = ' Mavs ',
                                ' C ' = ' Cavs '))

Diese spezielle Syntax nimmt die folgenden Änderungen an der Teamvariablen im Datenrahmen vor:

  • Aus „H“ wird „Hawks“
  • Aus „M“ wird „Mavs“
  • Aus „C“ wird „Cavs“

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Faktorstufen mit mutate() ändern

Angenommen, wir haben den folgenden Datenrahmen in R, der Informationen über verschiedene Basketballspieler enthält:

 #create data frame
df <- data. frame (team=factor(c('H', 'H', 'M', 'M', 'C', 'C')),
                 dots=c(22, 35, 19, 15, 29, 23))

#view data frame
df

  team points
1:22 a.m.
2:35 a.m.
3 M 19
4 M 15
5 C 29
6 C 23

Wir können die folgende Syntax mit der Funktion mutate() des dplyr- Pakets verwenden, um die Ebenen der Teamvariablen zu ändern:

 library (dplyr)

#change factor levels of team variable
df <- df %>% mutate(team=recode(team,
                                ' H ' = ' Hawks ',
                                ' M ' = ' Mavs ',
                                ' C ' = ' Cavs '))

#view updated data frame
df

   team points
1 Hawks 22
2 Hawks 35
3 Mavs 19
4 Mavs 15
5 Cavs 29
6 Cavs 23

Mithilfe dieser Syntax konnten wir die folgenden Änderungen an der Teamvariablen im Datenrahmen vornehmen:

  • Aus „H“ wird „Hawks“
  • Aus „M“ wird „Mavs“
  • Aus „C“ wird „Cavs“

Wir können überprüfen, ob die Faktorstufen geändert wurden, indem wir die Funktion „levels ()“ verwenden:

 #display factor levels of team variable
levels(df$team)

[1] “Cavs” “Hawks” “Mavs” 

Beachten Sie außerdem, dass Sie statt aller auch nur eine Faktorstufe ändern können.

Mit der folgenden Syntax können wir beispielsweise nur „H“ durch „Hawks“ ersetzen und die anderen Faktorstufen unverändert lassen:

 library (dplyr)

#change one factor level of team variable
df <- df %>% mutate(team=recode(team, ' H ' = ' Hawks '))

#view updated data frame
df

   team points
1 Hawks 22
2 Hawks 35
3 M 19
4 M 15
5 C 29
6 C 23

Beachten Sie, dass „H“ durch „Hawks“ ersetzt wurde, die anderen beiden Faktorstufen jedoch unverändert blieben.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in dplyr ausführen:

So löschen Sie Zeilen mit dplyr
So wählen Sie Spalten nach Index mit dplyr aus
So filtern Sie Zeilen, die eine bestimmte Zeichenfolge enthalten, mit dplyr

Einen Kommentar hinzufügen

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