Verwenden von If / Else für einen Datenrahmen
Ich habe einen Datensatz, der ungefähr so aussieht
data<-c(0,1,2,3,4,2,3,1,4,3,2,4,0,1,2,0,2,1,2,0,4)
frame<-as.data.frame(data)
Ich möchte jetzt eine neue Variable in diesem Datenrahmen erstellen. Wenn die Spalte "data" eine Zahl von 2 oder mehr enthält, soll die Zeile "2" enthalten. Wenn eine 1 oder 0 vorhanden ist (z. B. die ersten beiden Beobachtungen), soll die neue Variable eine haben "1" für diese Beobachtung.
Ich versuche dies mit dem folgenden Code zu tun:
frame$twohouses<- if (any(frame$data>=2)) {frame$twohouses=2} else {frame$twohouses=1}
Wenn ich jedoch diese 3 Skriptzeilen ausführe, wird jede Beobachtung in der Spalte "zwei Häuser" mit einer 2 codiert. Einige von ihnen sollten jedoch mit einer 1 codiert werden.
Also meine Frage: Was mache ich falsch mit meiner if else-Zeile oder meinem Skript? Oder gibt es eine alternative Möglichkeit, dies zu tun.
Meine Frage ist ähnlich wie diese:Verwendung von ifelse on factor in R
aber niemand hat diese Frage beantwortet.
Vielen Dank im Voraus!