我有一个包含 100 个案例的多索引数据集,每个案例有 5 个问题。每个问题由 2 位评分者评分。
case question rater1 rater2
1 1 1 1
1 2 1 0
1 3 1 1
1 4 1 1
1 5 0 0
2 1 0 1
2 2 1 1
2 3 1 1
2 4 1 0
2 5 0 0
3 1 0 0
3 2 1 0
3 3 1 1
3 4 1 1
3 5 0 1
...
我想将问题 1、2、3 的每种情况求和为 A,将问题 4、5 的每种情况求和为 B。然后在每种情况的末尾插入该值,例如
case question rater1 rater2
1 1 1 1
1 2 1 0
1 3 1 1
1 4 1 1
1 5 0 0
1 A 3 2
1 B 1 1
2 1 0 1
2 2 1 1
2 3 1 1
2 4 1 0
2 5 0 0
2 A 2 3
2 B 1 0
3 1 0 0
3 2 1 0
3 3 1 1
3 4 1 1
3 5 0 1
3 A 2 1
3 B 1 2
...
我不确定如何实现它。
最佳答案
您可以汇总数据,然后将其绑定(bind)回原始数据并重新利用它。例如
library(dplyr)
dd %>%
group_by(case, grp = case_when(question %in% 1:3~"A", question %in% 4:5 ~ "B")) %>%
summarize(across(-question, sum)) %>%
ungroup() %>%
rename(question = grp) %>%
bind_rows(mutate(dd, question = as.character(question))) %>%
arrange(case, question)
关于r - R中如何处理多索引数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74647815/