我想计算两个评估者对于具有两个或多个类别的变量的一致性。但是,我认为会存在普遍性问题(即某些类别可能比其他类别更频繁地出现在数据中)。因此,我也有兴趣获得流行率调整偏差调整卡帕 (PABAK)。据我所知,包 {IRR} 不提供此选项,但 {epiR} 的 epi.kappa 函数提供了此选项。但是,我更喜欢使用 {IRR},因为我想获得 Cohen 的 Kappa(epiR 似乎基于 Fleiss 的 Kappa)。有没有其他方法可以在 R 中获得 Cohen 的 Kappa 和 PABAK?
非常感谢!
这里是 Mark Stevenson,epiR 包的开发者。我更新了 epiR 中的 epi.kappa 函数,以包含 Cohen 的 kappa 作为选项。我很快就会向 CRAN 提交。如果您想要预发行版本,请通过电子邮件与我联系。
正如 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 |