Nie wiem, dlaczego walczę z tym, ponieważ wydaje się, że istnieje wiele odpowiedzi na SO, które rozwiązują to pytanie. Ale oto jestem.współczynnik konwersji do oryginalnej wartości liczbowej
Konwertuję wektor 1 i 0 na współczynnik i oznaczam wartości "tak" i "nie".
fact <- factor(c(1,1,0,1,0,1),
levels=c(1,0),
labels=c("yes", "no"))
#[1] yes yes no yes no yes
#Levels: yes no
Odpowiedzi na pytania dotyczące czynników konwersji z powrotem do wartości liczbowe wskazują as.numeric(as.character(x))
i as.numeric(levels(x)[x]
.
as.numeric(as.character(fact))
#[1] NA NA NA NA NA NA
as.numeric(levels(fact))[fact]
#[1] NA NA NA NA NA NA
Myślę, że najlepszym rozwiązaniem byłoby, aby utworzyć inny obiekt przed zmianą to czynnik klasę. tj. "v1 <- c (1,1,0,1,0,1); fact <- factor (v1, levels = c (1,0), labels = c ("yes", "no")); unique (v1) [as.numeric (fact)] ' – akrun
Po zmianie etykiet, nie jest to możliwe (w najogólniejszym sensie). Są sposoby, aby wrócić w konkretnych przypadkach, jeśli wiesz, jakie były oryginalne kody i co je zastąpiłeś. Na przykład rozwiązania, które wypróbowałbyś, zadziałałyby, gdybyś nie zmienił etykiet. – joran
tego właśnie mi brakowało. Myślałem, że R zapisuje nowe informacje ze starym. Chyba chciałem, żeby R zrobił coś bardziej podobnego do Stata z etykietami danych. –