Я пытаюсь превратить столбцы с одинаковыми именами в новые столбцы с именами, добавляя "_fa c". В то же время я хотел бы изменить уровни фактора.
df <- data.frame(var1.1 = sample(c("0", "1"), replace = TRUE, 10),
var1.2 = sample(c("0", "1"), replace = TRUE, 10),
var2.1 = sample(c("0", "1"), replace = TRUE, 10))
Это работает:
df %>% mutate_at(vars(starts_with("var1.")),.funs = list(fac = factor))
var1.1 var1.2 var2.1 var1.1_fac var1.2_fac
1 1 1 0 1 1
2 1 1 0 1 1
3 0 1 1 0 1
4 1 1 0 1 1
5 0 1 0 0 1
... но я также хотел бы изменить метки нового факторы в «нет» и «да». Я пробовал следующие варианты безрезультатно:
df %>% mutate_at(vars(starts_with("var1.")),
.funs = list(fac = factor(., levels = c("0", "1"), labels = c("No", "Yes"))))
df %>% mutate_at(vars(starts_with("var1.")),
.funs = list(fac = factor(., labels = c("No", "Yes"))))
df %>% mutate_at(vars(starts_with("var1.")),.funs = list(fac = recode_factor(.,
`0` = "No",
`1` = "Yes")))