我有几个因子变量,值"1"和"2"需要重新编码为"Yes"和"No" . 使用fct_recode的Tidyverse mutate_at似乎是正确的工具 . 然而,
dataframe %>%
mutate_at(vars (var1, var9, var17) =
fct_recode(vars(var1, var9, var17),
"Yes" = "1",
"No" = "2"))
给
Error: unexpected ')' in:
" "Yes" = "1",
"No" = "2"))"
和,
dataframe %>%
mutate_at(vars (var1, var9, var17),
funs(fct_recode(vars(var1, var9, var17),
"Yes" = "1",
"No" = "2")))
给
Error: `f` must be a factor (or character vector).
有人可以指出我的错误,还是使用mutate_at,vars或fct_recode错误?在tidyverse中有更好的方法可以在多个变量上重新编码相同的因子水平,这是整理数据的一个非常常见的任务 .
1 回答
问题是
mutate_at()
中的语法 .首先,我创建一个示例数据集:
然后我像这样使用
mutate_at()
:.vars
不变,但.funs
只是函数,funs
的附加参数在...
中传递:最终结果: