我是一个R新手,所以这个问题可能很明显,但我有一个很好的搜索,无法找到任何东西。
我想用R来分析调查而不是通常的方法。
我的变量标记为Q1,Q2,Q3 ......
Q1和Q2包含名义数据(1,2),并且我希望将值替换为("是","否")。我可以使用下面的代码执行此操作,但我不确定是否应该使用c来子集或使用c(使用因子函数。调查将有大约25个问题需要应用,所以我' d而是在一行代码而不是25行中完成。
resdata$Q1 <- factor(resdata$Q1, levels = c(1,2), labels = c("Yes", "No"))
答案 0 :(得分:0)
首先,您需要定义替换器功能:
repl.f <- function(x) ifelse(x==1, "Yes","No")
然后在dplyr:
中的mutate_each()中使用此参数library(dplyr)
resdata <- resdata %>% mutate_each(funs(repl.f),contains("Q"))
它的第一个参数是要在funs()中应用的函数,第二个是列的子集。如果您只给它一个函数,那么它将默认替换这些列。要选择列,您可以使用另一个dplyr函数:contains(),它与dplyr中的其他内容非常相似。