Ogni volta che devo ricodificare un gruppo di variabili, ho in mente la funzione di recitazione SPSS. Devo ammettere che è piuttosto semplice. C'è una funzione simile recode
nel pacchetto car
, e fa il trucco, ma supponiamo che voglio fare le cose con factor
.Recode/relevel data.frame fattori con livelli diversi
devo data.frame
con diverse variabili con campo di valori da 1 a 7. voglio "reverse" valori variabili, quindi sostituendo 1s con 7s, 2s con 6s, 3s con 5s ecc I possono utilizzare factor
funzione:
# create dummy factor
set.seed(100)
x <- as.factor(round(runif(100,1,7)))
y <- factor(x, levels = rev(levels(x)))
E se corro:
> levels(x)
[1] "1" "2" "3" "4" "5" "6" "7"
> levels(y)
[1] "7" "6" "5" "4" "3" "2" "1"
problema inizia quando voglio ricodificare i fattori che non hanno livelli uguali. Se qualche fattore, z, ha i livelli c("1", "3", "4", "6", "7")
, è possibile che io possa "invertire" i livelli in modo che 1 = 7, 2 = 6, 3 = 5 ecc. Utilizzando la funzione factor
?
Altre funzioni di ricodifica efficienti dovrebbero essere sufficienti!
Grazie per questo! Sembra che io sia solo troppo stanco e mi manca l'ovvio. La soluzione è stata così semplice ... Grazie ancora! – aL3xa
+1 Grazie! Questo ha risolto un problema simile per me. –