我有一个由多个Likert响应组成的数据集,我想将它们分组为子量表,这样我就可以获得每个子量表的描述性统计信息。我怎样才能在R中做到这一点?例如,使用下表,我想组成一个由Q1,Q3和Q4数据组成的组,然后再组成一个由Q2和Q5数据组成的组,再一个由Q6,Q7和Q8数据组成的组,这样我可以在每个组上调用R函数。
+-------------+----+----+----+----+----+----+----+----+
| Participant | Q1 | Q2 | Q3 | Q4 | Q5 | Q6 | Q7 | Q8 |
+-------------+----+----+----+----+----+----+----+----+
| 1 | 3 | 4 | 4 | 3 | 4 | 3 | 3 | 4 |
| 2 | 4 | 4 | 5 | 4 | 4 | 4 | 4 | 5 |
| 3 | 4 | 4 | 5 | 4 | 3 | 5 | 2 | 4 |
| 4 | 4 | 5 | 4 | 3 | 5 | 2 | 3 | 3 |
+-------------+----+----+----+----+----+----+----+----+
答案 0 :(得分:1)
您可以采用所需的所有行的列,例如(假设您的数据框位于data
中)
data[, c("Q1", "Q3", "Q4")]
data[, c("Q2", "Q5")]
data[, c("Q6", "Q7", "Q8")]
要对每个数据集中的所有值取均值,而不管其列如何,可以先使用unlist
将其展平:
mean(unlist(data[, c("Q1", "Q3", "Q4")]))
mean(unlist(data[, c("Q2", "Q5")]))
mean(unlist(data[, c("Q6", "Q7", "Q8")]))