Ich arbeite mit einem weatherAUS-Datensatz, der in den R-Bibliotheken verfügbar ist. Ich versuche, "Ja" auf 1 und "Nein" auf 0 in der RainTomorrow-Spalte zu ersetzen.
Ich habe das geschrieben, aber es scheint nicht zu funktionieren:
weather4$RainTomorrow[weather4$RainTomorrow=="Yes"]<-1
Ich sage nur:
Warnmeldung: In
[<-.factor
(*tmp*
, weather4 $ RainTomorrow == "Ja", Wert = c (NA,: ungültige Faktorstufe, NA generiert
Was bedeutet das und was soll ich tun? Ich denke, ich sollte irgendwo as.numeric oder as.factor verwenden, aber ich weiß nicht wie wirklich.
Sie können dies leicht mit Dplyr tun.
require(dplyr)
weather4 <- weather4 %>%
mutate(RainToday = ifelse(RainToday == "No",0,1))
Hoffe das hilft
library(data.table)
weather4[,":="(RainTomorrow=ifelse(RainTomorrow=="no",0,1))]
oder einfach benutzen:
as.numeric(as.factor(weather4$RainTomorrow))
Dies ist eine ziemlich häufige Sache, wenn man verschiedene Modelle testet. Zum Beispiel funktionieren Entscheidungsbäume gut mit "Ja" und "Nein". Einige Regressionsmodelle verlangen jedoch 1 und 0. Besondere logistische Regression.
Ich habe dies mithilfe der Plyr-Bibliothek gelöst. Es war sehr einfach und bequem. Hier ist meine Lösung.
Ursprung der Lösung ist hier.
library(plyr)
weather5$RainToday <- revalue(weather5$RainToday, c("Yes"=1))
weather5$RainToday <- revalue(weather5$RainToday, c("No"=0))
head(weather5$RainToday)
[1] 0 1 1 1 1 0
Levels: 0 1
Frieden!