如何在 R 中计算 Cohen 的 Kappa 和 PABAK?

问题描述 投票:0回答:2

我想计算两个评估者对于具有两个或多个类别的变量的一致性。但是,我认为会存在普遍性问题(即某些类别可能比其他类别更频繁地出现在数据中)。因此,我也有兴趣获得流行率调整偏差调整卡帕 (PABAK)。据我所知,包 {IRR} 不提供此选项,但 {epiR} 的 epi.kappa 函数提供了此选项。但是,我更喜欢使用 {IRR},因为我想获得 Cohen 的 Kappa(epiR 似乎基于 Fleiss 的 Kappa)。有没有其他方法可以在 R 中获得 Cohen 的 Kappa 和 PABAK?

非常感谢!

r kappa cohen-kappa
2个回答
0
投票

这里是 Mark Stevenson,epiR 包的开发者。我更新了 epiR 中的 epi.kappa 函数,以包含 Cohen 的 kappa 作为选项。我很快就会向 CRAN 提交。如果您想要预发行版本,请通过电子邮件与我联系。


0
投票

正如 Mark Stevenson 所说,现在可以在

epiR
包中添加 Cohen 的 Kappa,以及通过
method
参数添加很多其他方法(从 epiR 版本 2.0.67 开始,您可以选择 fleiss、watson、 altman 或 cohen),默认添加 PABAK。

使用 Cohen 的 Kappa 和 PABAK 在 R 中创建数据框的一些示例代码:

library("epiR")


# Two raters evaluating five subjects
rater1 <- factor(c("Yes", "No", "Yes", "No", "Yes"))
rater2 <- factor(c("Yes", "No", "No", "No", "Yes"))


# Create a confusion matrix
confusion_matrix <- table(rater1, rater2)

# Calculate Cohen's kappa
kappa_result <- epi.kappa(confusion_matrix, method = "cohen")


# Extract Cohen's kappa values and CI
cohen_kappa <- kappa_result$kappa$est
cohen_kappa_lower <- kappa_result$kappa$lower
cohen_kappa_upper <- kappa_result$kappa$upper

kappa_result$pabak$est

# Extract PABAK values and CI
pabak <- kappa_result$pabak$est
pabak_lower <- kappa_result$pabak$lower
pabak_upper <- kappa_result$pabak$upper


# Create a data frame with Cohen's kappa, PABAK, and their CIs
kappa_df <- data.frame(
  Metric = c("Cohen's Kappa", "PABAK"),
  Value = c(cohen_kappa, pabak),
  Lower_CI = c(cohen_kappa_lower, pabak_lower),
  Upper_CI = c(cohen_kappa_upper, pabak_upper)
)

# Display the data frame
print(kappa_df)

输出:

公制 价值 降低CI 上CI
科恩的河童 0.6153846 -0.05886349 1.2896327
帕巴克 0.6000000 -0.43283587 0.9898985
© www.soinside.com 2019 - 2024. All rights reserved.