【问题标题】:Cohen's Kappa of two dataframes两个数据帧的 Cohen 的 Kappa
【发布时间】:2017-04-24 16:32:05
【问题描述】:

我有两个包含多个变量的数据框。每个数据帧属于一个评估者。我想计算两个数据帧之间的测试者间可靠性(Cohen's 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")

它一定与“IRR”包有关,但我真的不知道怎么做。非常感谢任何在正确方向上的帮助。

【问题讨论】:

  • 在每个数据框中,您有 3 行和 3 列。行或列是被评价的事物吗?如果有,另一个维度是什么?

标签: r reliability


【解决方案1】:

使用您提供的数据,您可以使用以下代码计算每个变量的 kappa:

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

你说你想要两个数据帧之间的 kappa,这意味着我们需要以某种方式将数据帧折叠成两个向量。您需要做的就是将您对主题的定义更改为任何被评分的变量。您基本上可以忽略主题来自同一来源的事实,因为您对评估者(独立的)之间的协议感兴趣,而不是在被评估的事物(不独立)的特征范围内。

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

【讨论】:

  • 第一个选项就像一个魅力,非常感谢格拉德威尔!第二种解决方案似乎不起作用(kappa2 中的错误(cbind(as.vector(D), as.vector(M))):评估者人数超过 2。尝试 kappam.fleiss 或 kappam.light。),但是第一个解决方案足以满足我的目的。再次感谢。
  • 我投了赞成票并选择了你的答案 Gladwell,但显然它不公开,因为我的分数不到 15 分。
  • @DavidMaij 试试上面的编辑版本。用一个数字代替每个变量的数字来表示一致性程度可能很有用。
猜你喜欢
  • 1970-01-01
  • 2021-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多