You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R Studio中计算两位评估者3个变量的Cohen's Kappa?

正确计算Cohen's Kappa的步骤

1. 导入Excel数据

首先用readxl包读取两个Excel文件,先安装并加载包:

install.packages("readxl")
library(readxl)

# 替换成你的Excel文件路径
IRR_1 <- read_excel("你的评估者1表格路径.xlsx")
IRR_2 <- read_excel("你的评估者2表格路径.xlsx")

2. 提取对应评估列

从两个表格中提取需要对比的3列,必须确保两表中提取的列是同一评估项,且样本顺序完全一致:

# 假设要提取的列名为var1、var2、var3,根据实际列名修改
rater1_cols <- IRR_1[, c("var1", "var2", "var3")]
rater2_cols <- IRR_2[, c("var1", "var2", "var3")]

如果列名不一致,手动调整列索引或列名,保证每一组列对应同一个评估维度。

3. 合并数据(可选但便于管理)

把两个评估者的对应列合并到一个数据框:

combined_df <- data.frame(
  r1_var1 = rater1_cols$var1,
  r2_var1 = rater2_cols$var1,
  r1_var2 = rater1_cols$var2,
  r2_var2 = rater2_cols$var2,
  r1_var3 = rater1_cols$var3,
  r2_var3 = rater2_cols$var3
)

4. 逐列计算Cohen's Kappa

Cohen's Kappa是针对一对评估结果计算的,所以需要对每个评估维度单独计算:

library(DescTools)

# 计算第一个维度的Kappa
kappa_var1 <- CohenKappa(table(combined_df$r1_var1, combined_df$r2_var1))
print(kappa_var1)

# 计算第二个维度的Kappa
kappa_var2 <- CohenKappa(table(combined_df$r1_var2, combined_df$r2_var2))
print(kappa_var2)

# 计算第三个维度的Kappa
kappa_var3 <- CohenKappa(table(combined_df$r1_var3, combined_df$r2_var3))
print(kappa_var3)

你之前代码的问题

  • xtabs(IRR_1$1 + IRR_2$1) 写法错误:xtabs需要公式格式,且列索引$1的写法仅当列名是纯数字时有效,还要加引号$"1",但即便如此,这种用法也不适合构造评估者对比的列联表。
  • CohenKappa需要的是由table()生成的列联表,或两个对应的评分向量,不是你错误构造的xtabs输出。

内容的提问来源于stack exchange,提问作者eagersquirrel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 17:18:10