2017-04-24 27 views
0

我有两个数据框与多个变量。每个数据框属于一个评估者。我想计算两个数据框之间的评估者间可靠性(Cohen's Kappa)。科恩的两个数据框的Kappa

例如:

Rater1 <- matrix(c(1,0,0,1,0,0,0,0,1),ncol=3,byrow=TRUE) 
colnames(Rater1)<-c("V1","V2","V3") 
Rater2 <- matrix(c(0,1,0,1,0,1,0,0,1),ncol=3,byrow=TRUE) 
colnames(Rater2)<-c("V1","V2","V3") 

它必须有一些做的“内部收益率”包,但我真的无法弄清楚如何。非常感谢任何正确方向的帮助。

+0

在每个数据框中,您有3行3列。行或列是否被评级?如果是这样,那么其他方面又是什么? – Gladwell

回答

1

使用您所提供的数据,就可以计算出卡帕与下面的代码每个变量:

for (dimension in 1:3) { 
    v = paste0("V", dimension) 
    print(irr::kappa2(cbind(Rater1[, v], Rater2[, v]))) 
} 

你说你想要但是两个数据帧之间的卡帕,这意味着我们需要以某种方式崩溃数据帧分成两个向量。你所需要做的就是改变你对主题的定义,使其成为任何被评价的变量。你基本上可以忽略这样一个事实,即这些主题来自同一个源,因为你对评价者(独立的)之间的协议感兴趣,而不在被评价的东西的特征之内(这不是独立的)。

irr::kappa2(cbind(matrix(Rater1), matrix(Rater2))) 
+0

第一个选项就像魅力一样,非常感谢Gladwell!第二个解决方案似乎不起作用(kappa2中的错误(cbind(as.vector(D),as.vector(M))): 评估者数量减少2.尝试使用kappam.fleiss或kappam.light。第一个解决方案对我来说已经足够了。再次感谢。 –

+0

我做了投票并选择你的答案Gladwell,但显然它不公开,因为我有不到15分。 –

+0

@DavidMaij尝试上面编辑的版本。让一个数字表示协议的程度而不是每个变量的数字可能是有用的。 – Gladwell