如何在R中对指定变量的问卷作答结果进行反向编码?
问题原因
你调用car包recode()函数时的语法不符合要求:该函数的重编码规则需要放在单引号内,规则格式为旧值=新值,而非使用双等号==做逻辑判断。
修正方案
方案1:修正car包调用写法
注:install.packages("car")只需执行一次,后续使用无需重复运行该代码。
# 加载包 library(car) # 获取原始变量 decisive <- DfP_CH$GENDERPERSONALITY_DECISIONS # 重编码 decisive_revcode <- recode(decisive, "1=5; 2=4; 4=2; 5=1; 3=3") # 查看结果 View(decisive_revcode)
方案2:无需额外包的极简写法
5级李克特量表的反向编码可以直接用6-原始值实现,刚好符合你的转换规则,代码更简洁不易出错:
decisive <- DfP_CH$GENDERPERSONALITY_DECISIONS decisive_revcode <- 6 - decisive View(decisive_revcode)
效果验证
可以用测试向量验证转换逻辑是否正确:
test_vec <- c(1,2,3,4,5) 6 - test_vec # 输出结果为 5 4 3 2 1,完全符合你的转换要求
内容的提问来源于stack exchange,提问作者sierra
相关产品推荐
相关产品推荐

