So kodieren sie werte mit dplyr neu


Manchmal sind Sie möglicherweise daran interessiert, bestimmte Werte in einen Datenrahmen in R umzukodieren. Glücklicherweise kann dies problemlos mit der Funktion recode() aus dem dplyr-Paket erfolgen.

Dieses Tutorial zeigt einige Beispiele für die praktische Verwendung dieser Funktion.

Beispiel 1: Eine einzelne Spalte in einem Datenrahmen neu kodieren

Der folgende Code zeigt, wie eine einzelne Spalte in einem Datenrahmen neu codiert wird:

 library(dplyr)

#create dataframe 
df <- data.frame(player = c('A', 'B', 'C', 'D'),
                 points = c(24, 29, 13, 15),
                 result = c('Win', 'Loss', 'Win', 'Loss'))

#view dataframe 
df

#change 'Win' and 'Loss' to '1' and '0'
df %>% mutate (result=recode(result, ' Win '='1', ' Loss '='0'))

       player points result
1 to 24 1
2 B 29 0
3 C 13 1
4 D 15 0

Beispiel 2: Eine einzelne Spalte in einem Datenrahmen neu kodieren und NA-Werte bereitstellen

Der folgende Code zeigt, wie man eine einzelne Spalte in einem Datenrahmen neu kodiert und den Wert NA jedem Wert zuweist, dem nicht explizit ein neuer Wert zugewiesen wurde:

 library(dplyr)

#create dataframe 
df <- data.frame(player = c('A', 'B', 'C', 'D'),
                 points = c(24, 29, 13, 15),
                 result = c('Win', 'Loss', 'Win', 'Loss'))

#view dataframe 
df

#change 'Win' to '1' and give all other values a value of NA
df %>% mutate (result=recode(result, ' Win '='1', .default =NA_character_))

       player points result
1 to 24 1
2 B 29 <NA>
3 C 13 1
4 D 15 <NA>

Beispiel 3: Mehrere Spalten in einem Datenrahmen neu kodieren

Der folgende Code zeigt, wie mehrere Spalten gleichzeitig in einem Datenrahmen neu codiert werden:

 library(dplyr)

#create dataframe 
df <- data.frame(player = c('A', 'B', 'C', 'D'),
                 points = c(24, 29, 13, 15),
                 result = c('Win', 'Loss', 'Win', 'Loss'))

#recode 'player' and 'result' columns
df %>% mutate (player=recode(player, ' A '='Z'),
              result=recode(result, ' Win '='1', ' Loss '='0'))

       player points result
1 Z 24 1
2 B 29 0
3 C 13 1
4 D 15 0

Die vollständige Dokumentation zur recode()-Funktion finden Sie hier .

Einen Kommentar hinzufügen

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