在数据框架内重新编码李克特量表 - 为研究方法学习R的建议?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在数据框架内重新编码李克特量表 - 为研究方法学习R的建议?相关的知识,希望对你有一定的参考价值。
就在最近,我开始了我的R之旅,终于掌握了一切。我有一个非常简单的问题,但我无法找到我正在寻找的答案。
我有一个使用Likert类型量表收集的调查回复数据集。一些范围从非常强烈不同意到相反(1-7),而其他则是1-5。我正在寻找一种简单的方法来重新编码数据集中的每一列,最好使用dplyr包,因为我正在尝试掌握它。到目前为止,我有这个:
df是我的数据框,其中包含Q2.1_1:Q2.5_1列。我需要新的重新编码列是数字,因为它们是当前因素(我想稍后运行描述)。
这一行的问题在于它创建了一个对其进行重新编码的向量,但不在我的df数据帧中。我不确定我是否应该将此附加到df,或者是否有更好的方法来在df内进行编辑。
as.numeric(recode(df$Q2.1_1, "Very slightly or not at all"=1, .... etc))
答案
我想你正在寻找类似以下的东西:
mydata <- data.frame(x = c("A lot", "Some", "Not at all"))
mydata <- mutate(mydata, x_recoded = recode(x, "A lot" = 1, "Some" = 2, "Not at all" = 3))
mydata
x x_recoded
1 A lot 1
2 Some 2
3 Not at all 3
这段代码是:
- 创建示例数据
- 使用dplyr的
mutate()
函数创建一个新的变量x_recoded
- 将变异的数据框
mydata
分配回自身,所以它现在有x_recoded
recode
推断变量是数字的,因为数字位于重新编码的右侧,因此您不需要使用as.numeric
。
以上是关于在数据框架内重新编码李克特量表 - 为研究方法学习R的建议?的主要内容,如果未能解决你的问题,请参考以下文章