如何在 r 中进行反向编码(附示例)


在进行调查时,研究人员有时会用“消极”的方式重新表述“积极”的问题,以确保个人给出一致的回答。

我们说这类问题是反向编码的

当使用调查为个人分配综合分数时,确保反向编码问题也获得反向分数非常重要。

以下示例展示了如何在 R 中反转反向编码问题的分数。

示例:R 中的反向编码

假设研究人员对 10 个人进行了一项包含 5 个问题的调查,其中每个问题的可能答案是:

  • 完全同意
  • 接受
  • 既不同意也不反对
  • 不同意
  • 强烈反对

以下数据库包含调查结果,其中“强烈同意”分配值为 5,“同意”分配值为 4,依此类推:

 #create data frame that contains survey results
df <- data. frame (Q1=c(5, 4, 4, 5, 4, 3, 2, 1, 2, 1),
                 Q2=c(1, 2, 2, 1, 2, 3, 4, 5, 4, 5),
                 Q3=c(4, 4, 4, 5, 4, 3, 2, 4, 3, 1),
                 Q4=c(3, 4, 2, 2, 1, 2, 5, 4, 3, 2),
                 Q5=c(2, 2, 3, 2, 3, 1, 4, 5, 3, 4))

#view data frame
df

   Q1 Q2 Q3 Q4 Q5
1 5 1 4 3 2
2 4 2 4 4 2
3 4 2 4 2 3
4 5 1 5 2 2
5 4 2 4 1 3
6 3 3 3 2 1
7 2 4 2 5 4
8 1 5 4 4 5
9 2 4 3 3 3
10 1 5 1 2 4

假设问题 2 和问题 5 是反向编码的,因此我们需要反转它们的分数。

也就是说:

  • 1 应该变成 5。
  • 2应该变成4。
  • 3应该变成3。
  • 4 应该变成 2。
  • 5 应该变成 1。

最简单的方法是取最大可能分数 (5),加 1 得到 6。然后用 6 减去原始分数,得到反转的分数值。

例如:

  • 5 变为: 6 – 5 = 1
  • 4 变为: 6 – 4 = 2
  • 3 变为: 6 – 3 = 3
  • 2 变为: 6 – 2 = 4
  • 1 变为: 6 – 1 = 5

我们可以在 R 中使用以下代码来执行此操作:

 #define columns to reverse code
reverse_cols = c(" Q2 ", " Q5 ")

#reverse code Q2 and Q5 columns
df[, reverse_cols] = 6 - df[, reverse_cols]

#view updated data frame
df

   Q1 Q2 Q3 Q4 Q5
1 5 5 4 3 4
2 4 4 4 4 4
3 4 4 4 2 3
4 5 5 5 2 4
5 4 4 4 1 3
6 3 3 3 2 5
7 2 2 2 5 2
8 1 1 4 4 1
9 2 2 3 3 3
10 1 1 1 2 2

请注意,Q2 和 Q5 列中的所有值都已进行反向编码。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何在 R 中将因子转换为数字
如何在 R 中重命名因子级别
如何在 R 中转换数据(对数、平方根、立方根)

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注