我有一个带有数字数据的数据框,如下所示:
data <- data.frame(q1=c("2", "1", "3"),
q2=c("1", "3", "2"),
other=c("other", "other", "other"))
我想将该数据视为因素,并在该数据上添加因素标签。我仍然希望看到数值数据,以便执行数学功能,但要查看ggplot中的标签,等等。因子标签位于另一个数据框中,如下所示:
factors <- data.frame(variable=c("q1", "q1", "q1", "q2", "q2", "q2"),
level=c(1,2,3,1,2,3),
labels=c("A", "B", "C", "X", "Y", "Z"))
如何使用factors
df向data
df添加标签?
我已经尝试过了,但是没用:
labelled <- data %>%
mutate_at(.vars = vars(starts_with("q")),
.funs = funs((.,
labels=factors$labels
)))
我确定有一些我不考虑的简单方法。 任何帮助表示赞赏!
答案 0 :(得分:0)
一种选择是用imap
遍历'q'列,根据列名从'factors'数据集中子集'level'和'labels'列,并在{{ 1}}
factor