Jedes Mal, wenn ich einige Variablen neu codieren muss, habe ich SPSS recode-Funktion im Hinterkopf. Ich muss zugeben, dass es ziemlich einfach ist. Es gibt eine ähnliche recode
Funktion in car
Paket, und es macht den Trick, aber lassen Sie uns voraussetzen, dass ich Dinge mit factor
erledigen will.Recode/relevel data.frame Faktoren mit verschiedenen Ebenen
Ich habe data.frame
mit mehreren Variablen mit Wertebereich von 1 bis 7. Ich mag Variablenwerte „rückwärts“, also 1s mit 7s 2s mit 6s, 3s mit 5s usw. ersetzen kann ich factor
Funktion nutzen:
# create dummy factor
set.seed(100)
x <- as.factor(round(runif(100,1,7)))
y <- factor(x, levels = rev(levels(x)))
Und wenn ich laufen:
> levels(x)
[1] "1" "2" "3" "4" "5" "6" "7"
> levels(y)
[1] "7" "6" "5" "4" "3" "2" "1"
Problem beginnt, wenn ich Faktoren rekodieren wollen, die nicht gleich Ebenen haben. Wenn ein Faktor, z, Ebenen hat c("1", "3", "4", "6", "7")
, gibt es eine Chance, dass ich Ebenen "1", also 1 = 7, 2 = 6, 3 = 5 usw. "umkehren" kann, indem Sie factor
Funktion verwenden?
Andere effiziente Recode-Funktionen sollten ausreichen!
Danke für diesen! Es scheint, dass ich einfach zu müde bin und das Offensichtliche vermisse. Lösung war so einfach ... Danke nochmal! – aL3xa
+1 Danke! Dies löste ein ähnliches Problem für mich. –