Chaque fois que je dois recoder un ensemble de variables, j'ai la fonction de recodage SPSS à l'esprit. Je dois admettre que c'est assez simple. Il y a une fonction recode
similaire dans le paquet car
, et cela fait l'affaire, mais supposons que je veuille faire les choses avec factor
.Recoder/redéfinir les données avec différents niveaux
J'ai data.frame
avec plusieurs variables avec plage de valeurs de 1 à 7. Je veux des valeurs variables « reverse », remplaçant donc 1s avec 7s, 2 s avec 6s, 3 s avec 5 s etc. Je peux utiliser factor
fonction:
# create dummy factor
set.seed(100)
x <- as.factor(round(runif(100,1,7)))
y <- factor(x, levels = rev(levels(x)))
Et si je cours:
> levels(x)
[1] "1" "2" "3" "4" "5" "6" "7"
> levels(y)
[1] "7" "6" "5" "4" "3" "2" "1"
problème commence quand je veux recoder des facteurs qui ne sont pas des niveaux égaux. Si un facteur, z, a des niveaux c("1", "3", "4", "6", "7")
, y a-t-il une chance que je puisse "inverser" les niveaux alors 1 = 7, 2 = 6, 3 = 5 etc. en utilisant la fonction factor
?
D'autres fonctions de recodage efficaces devraient suffire!
Merci pour celui-ci! Il semble que je sois trop fatigué et que je manque l'évidence. La solution était si simple ... Merci encore une fois! – aL3xa
+1 Merci! Cela a résolu un problème similaire pour moi. –