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

R语言计算评分者间一致性报错:Fleiss' Kappa遇下标越界

解决R语言计算评分者间一致性的下标越界问题

错误原因

  1. 函数误用:kappa2()是用于计算两位评分者的Cohen's Kappa,而你这里有多位评分者,需要用适用于多位评分者的Fleiss' Kappa,对应irr包的fleiss.kappa()函数。
  2. 数据格式错误:ratings[, "clarity"]提取出的是一维向量,而kappa2()需要二维结构(比如两列的矩阵/数据框,对应两位评分者的评分),一维向量会导致内部索引访问时出现"下标越界"。

修正后的代码

首先安装并加载irr包:

# 安装包(仅首次运行)
install.packages("irr")
# 加载包
library(irr)

情况1:符合Fleiss' Kappa要求的数据格式

Fleiss' Kappa要求数据结构为每行对应一个被评对象(比如你的2本书),每列对应一位评分者,单元格为评分值。示例代码如下:

# clarity维度:行=书,列=评分者
clarity_ratings <- data.frame(
  rater1 = c(3, 2),
  rater2 = c(4, 3),
  rater3 = c(4, 5)
)

# simplicity维度
simplicity_ratings <- data.frame(
  rater1 = c(5, 4),
  rater2 = c(5, 5),
  rater3 = c(4, 3)
)

# accuracy维度
accuracy_ratings <- data.frame(
  rater1 = c(2, 3),
  rater2 = c(4, 4),
  rater3 = c(5, 2)
)

# 计算每个维度的Fleiss' Kappa
clarity_kappa <- fleiss.kappa(clarity_ratings)
simplicity_kappa <- fleiss.kappa(simplicity_ratings)
accuracy_kappa <- fleiss.kappa(accuracy_ratings)

# 输出结果
cat("Clarity Fleiss' Kappa:", clarity_kappa$value, "\n")
cat("Simplicity Fleiss' Kappa:", simplicity_kappa$value, "\n")
cat("Accuracy Fleiss' Kappa:", accuracy_kappa$value, "\n")

情况2:从你的原始数据格式转换

如果你的原始数据是"每行对应一位评分者,每列对应一个维度",需要先转置每个维度的数据:

data <- data.frame(
  rater = c("rater-1", "rater-2", "rater-3"),
  clarity = c(3, 4,4),
  simplicity = c(5, 5,4),
  accuracy = c(2, 4,5)
)

# 转置每个维度为Fleiss Kappa要求的格式(行=被评对象,列=评分者)
clarity_ratings_t <- t(data[, "clarity", drop=FALSE])
simplicity_ratings_t <- t(data[, "simplicity", drop=FALSE])
accuracy_ratings_t <- t(data[, "accuracy", drop=FALSE])

# 计算Kappa
clarity_kappa <- fleiss.kappa(clarity_ratings_t)
simplicity_kappa <- fleiss.kappa(simplicity_ratings_t)
accuracy_kappa <- fleiss.kappa(accuracy_ratings_t)

# 输出结果
print(clarity_kappa)
print(simplicity_kappa)
print(accuracy_kappa)

补充说明

如果你的研究中实际是两位评分者,可以使用kappa2(),但需要传入两列的矩阵(每列对应一位评分者),示例:

two_rater_data <- data.frame(
  rater1 = c(3,5,2),
  rater2 = c(4,5,4)
)
kappa_result <- kappa2(two_rater_data)
print(kappa_result)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 20:15:26