在数据框中重新编码李克特量表 - 学习 R 以研究方法的建议?
Recoding Likert Scales within dataframe -recommendations for learning R for research methodology?
最近才开始我的 R 之旅,终于掌握了窍门。我有一个非常简单的问题,但我无法找到我正在寻找的答案。
我有一个使用李克特量表收集的调查回复数据集。有些范围从非常强烈不同意到相反(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 之旅,终于掌握了窍门。我有一个非常简单的问题,但我无法找到我正在寻找的答案。
我有一个使用李克特量表收集的调查回复数据集。有些范围从非常强烈不同意到相反(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
.