2017-06-15 2 views
0

Ich habe Daten aus dem Internet heruntergeladen und es hat alle Spaltennamen wie V1, V2 usw., die ich mit setnames von data.table Paket ändern.
Eine der umbenannten Variablen ist verheiratet. Wenn ich die Tabelle AnweisungÄndern Unbekannt Kategorie

table(mydat$Married) 

Das Ergebnis laufen ist

? l  u y 
6 2  519 163 

Dies sind # von obs pro Kategorie. Jetzt muss ich mich ändern? und l in y und du. Ich habe versucht

gsub("?","y",mydat) 

Dies ändert jedoch nichts. Wie soll ich das erreichen?

+1

können Sie ein reproduzierbares Beispiel nennen? –

+1

Sie müssen wahrscheinlich 'gsub ("? "," Y ", mydat $ Verheiratet, fixed = TRUE)' ' –

Antwort

1

Nun, wir wissen nicht viel über Ihre Daten, aber so etwas sollte funktionieren. Es verwendet dplyrs recode Funktion, um die Werte innerhalb Married zu ändern. Ich habe eine neue Variable cat erstellt, nur um den Unterschied zu zeigen.

tibble::tibble(
    Married = c("u", "l", "u", "?", "y", "y", "l", "?", "u") 
) %>% dplyr::mutate(cat = dplyr::recode(Married, 
    "l" = "u", 
    "?" = "y" 
)) 

Ergebnis:

# A tibble: 9 x 2 
    Married cat 
    <chr> <chr> 
1  u  u 
2  l  u 
3  u  u 
4  ?  y 
5  y  y 
6  y  y 
7  l  u 
8  ?  y 
9  u  u 
Verwandte Themen