【发布时间】:2019-10-09 22:42:01
【问题描述】:
我有一个大型编码器数据框,它们对感兴趣的构造进行评级。最终,我想在每个编码器对上运行 kappa 可靠性(然后采用加权平均值)。首先,我需要找到一种方法来获取下面的单个数据帧(test_data)并为每个编码器组合(pair1、pair2、pair3 等)创建多个数据帧,我最终将通过一个更大的函数来评估 kappa 可靠性。
test_data <- data.frame(turn = c("s1: text string", "s2: text string" , "s1: text string", "s2: text string", "s1: text string", "s2: text string", "s1: text string"),
id = c(12, 12, 12, 15, 15, 17, 17),
coder1_1 = c("high", "low", "med", "high", "high", "high", "low"),
coder2_1 = c("high", "low", "med", "high", "med", "high", "low"),
coder3_1 = c("med", "med", "med", "high", "low", "high", "med"),
coder4_1 = c("high", "low", "med", "high", "med", "high", "low")
)
我想为每个编码器对创建 6 个单独的数据帧,同时保留每个数据帧中的前两列(turn 和id)。
例如,数据框“pair1”将是:
turn id coder1_1 coder2_1
1 s1: text string 12 high high
2 s2: text string 12 low low
3 s1: text string 12 med med
4 s2: text string 15 high high
5 s1: text string 15 high med
6 s2: text string 17 high high
7 s1: text string 17 low low
下一个数据帧将是“pair2”:
turn id coder1_1 coder3_1
1 s1: text string 12 high med
2 s2: text string 12 low med
3 s1: text string 12 med med
4 s2: text string 15 high high
5 s1: text string 15 high low
6 s2: text string 17 high high
7 s1: text string 17 low med
等...贯穿四个编码器的所有二元比较(总共 6 个)。
我在combn(names(test_data[,c(3:6)]),2,simplify=FALSE) 上取得的成功有限,因为这只是创建了一个列名列表并且没有保留turn 和id。
非常感谢任何帮助。
【问题讨论】: