【发布时间】:2019-12-29 17:51:53
【问题描述】:
我正在尝试将我的数据集中所有处于“同意/不同意”比例的变量重新编码为数值。我尝试过使用 mutate_all 和 case_when,但随后它会为 id 列和 var3(下面的数据)等变量返回 NA 值。这是我使用的代码:
newdat <- olddat %>% mutate_all(funs(case_when(. == "Strongly Disagree (1)" ~ 1,
. == "Disagree (2)" ~ 2,
. == "Neutral (3)" ~ 3,
. == "Agree (4)" ~ 4,
. == "Strongly Agree (5)" ~ 5)))
我想要发生的事情如下:
有数据
id var1 var2 var3 var4
1 Strongly Disagree (1) Agree (4) 5 Agree (4)
2 Strongly Disagree (1) Neutral (3) 6 Neutral (3)
3 Disagree (2) Neutral (3) 4 Strongly Agree (5)
4 Strongly Disagree (1) Agree (4) 9 Disagree (2)
5 Neutral (3) Agree (4) 2 Agree (4)
想要数据
id var1 var2 var3 var4
1 1 4 5 4
2 1 3 6 3
3 2 3 4 5
4 1 4 9 2
5 3 4 2 4
附: 试图寻找一个现有的答案,但我找不到一个!也许我措辞有误?
【问题讨论】:
标签: r dplyr data-manipulation data-cleaning