我有一个调查,有40个分类变量,有四个答案选项,我需要重新计算。
变量示例:
table (BD$Q12)
Never 3-5 times
104 3
table (BD$Q1)
Never 1-2 Times 3-5 Times 6+ Times
83 16 5 2
到目前为止,我对5-8个变量进行了调查,这样我就可以用这样的代码行来解决我的问题:
BD$Q1 <- factor (BD$Q1, levels = c ("Never", "1-2 Times", "3-5 Times", "6 + Times"))
但我不知道如何将其自动化到所有列。
我试着
BD [, names] <- lapply (BD [, names], factor)
但并不是所有的变量都有识别出的4种类型的答案(它们可以有1,2,3或4),所以我得到了几种级别。有线索吗?
提前感谢!
发布于 2019-05-09 22:42:54
在dplyr
中你可以做到
library(dplyr)
BD %>%
mutate_all(~factor(.x, levels = c ("Never", "1-2 Times", "3-5 Times", "6 + Times")))
这将对BD
的所有列进行重新编码。
https://stackoverflow.com/questions/56068458
复制相似问题