Rekodieren / relevelieren Sie data.frame-Faktoren mit unterschiedlichen Ebenen

Jedes Mal, wenn ich einen Variablensatz neu codieren muss, habe ich die SPSS-Neucodierungsfunktion im Auge. Ich muss zugeben, dass es ganz einfach ist. Es gibt eine ähnlicherecode Funktion incar Paket, und es macht den Trick, aber nehmen wir an, dass ich Dinge erledigen wollenfactor.

ich habedata.frame mit mehreren Variablen mit einem Wertebereich von 1 bis 7. Ich möchte Variablenwerte "umkehren" und somit 1s durch 7s, 2s durch 6s, 3s durch 5s usw. ersetzenfactor Funktion:

# create dummy factor
set.seed(100)
x <- as.factor(round(runif(100,1,7)))
y <- factor(x, levels = rev(levels(x)))

Und wenn ich renne:

> levels(x)
[1] "1" "2" "3" "4" "5" "6" "7"
> levels(y)
[1] "7" "6" "5" "4" "3" "2" "1"

Das Problem beginnt, wenn ich Faktoren rekodieren möchte, die nicht gleich sind. Wenn ein Faktor, z, Ebenen hatc("1", "3", "4", "6", "7")Gibt es eine Chance, dass ich Levels "umkehren" kann, also 1 = 7, 2 = 6, 3 = 5 usw., indem ich nutze?factor Funktion?

Andere effiziente Rekodierungsfunktionen sollten ausreichen!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage