Я пытаюсь перекодировать некоторые уровни факторов с помощью dplyr :: mutate (), чтобы все уровни факторов «MOT» и «CHI» оставались такими, какие они есть, а все остальные превратились в «OTH».
Мои данные выглядят так:
subj | speaker | word
1 MOT apple
1 CHI baby
1 SI1 baby
2 CHI dog
2 CHI cat
2 FAT cat
И я хочу, чтобы это выглядело так:
subj | speaker | word
1 MOT apple
1 CHI baby
1 OTH baby
2 CHI dog
2 CHI cat
2 OTH cat
Мой код выглядит так:
new.df <- data %>%
dplyr::select(subj, speaker) %>%
mutate(speaker = factor(speaker),
speaker = ifelse(speaker %in% c("CHI", "MOT"), speaker, "OTH"))
Однако, когда я запускаю этот скрипт, некоторые уровни преобразуются в «OTH», но все остальные меняются на числа. Это происходит независимо от того, включаю ли я команду фактора (динамика):
subj | speaker | word
1 175 apple
1 86 baby
1 OTH baby
2 86 dog
2 86 cat
2 OTH cat
Он меняет коэффициенты на "OTH", но проблема в ИСТИННОМ элементе моего кода ifelse.
Большое спасибо!