Dies ist wahrscheinlich sehr trivial, aber ich kann es nicht herausfinden. Ich schrieb ein R-Skript, das meine Daten (die noch gesammelt werden) bereinigt/organisiert, so dass nach der Datensammlung alles fertig geschrieben ist. Ich stoße auf ein Problem mit Faktorvariablen. Die Rasse/ethnische Variable wird als numerisch gespeichert: 1 = weiß, 2 = schwarz, 3 = asiatisch, 4 = spanisch, 5 = anders. Gerade jetzt die fünf Beobachtungen wie folgt aussehen:Angeben von Faktorvariablen
race <- c(1, 1, 3, 5, 2)
Ich möchte das Rennen Variable in Faktor konvertieren, so dass ich versucht:
race.f <- factor(race, labels = c("white", "black", "asian", "hisp",
"native", "other"))
Aber ich bekomme die Fehlermeldung:
Error in factor(race, labels = c("white", "black", "asian", "hisp",
"native", : invalid 'labels'; length 6 should be 1 or 4
Ich vermute, das ist, weil ich sage, es gibt 6 Etiketten, aber in meinem Datensatz gibt es nur Beobachtungen für 4 von den 6 möglichen Ergebnissen. Ich bin mir sicher, dass dies mit dem Level-Argument gelöst werden kann, aber ich kann nicht herausfinden, wann/wo ich es verwenden soll. Ich habe versucht,
race.f <- factor(race, levels = c("white", "black", "asian", "hisp",
"native", "other"))
Und es gerade ein Bündel von nationalen Agenturen. Wenn ich zufällig Daten von mindestens einer Person jeder der 6 Ethnien sammle, würde der Code funktionieren, den ich oben gepostet habe. Es gibt jedoch keine Garantie, dass dies passieren wird. Wie gehe ich vor, wenn ich das Skript schreibe, bevor die Daten gesammelt werden? Ich möchte dafür alle möglichen Ergebnisse behandeln. Danke!
Oder Sie könnten die Ebene zusammen mit dem Etikett Argumente 'factor' verwenden:' race.f <- Faktor (Rasse, level = 1: 6, Etikett = c (“ weiß "," schwarz "," asiatisch "," hisp "," nativ "," anders ")). – lmo
@lmo empfehlen, als separate Antwort zu veröffentlichen. – Gregor
@Imo Ich habe Ihren Vorschlag hinzugefügt danke! –