我试过这个简单的测试用例:
df <- data.frame(x1 = as.factor(c("a", "a", "a", "a", "b")),
x2 = as.factor(c("a", "a", "a", "b", "b")))5次评分中有4次是相同的,估计概率协议为1/2。我将这些数字放入维基百科页面的简单公式中:
(k <- (4/5 - 1/2) / (1 - 1/2))
[1] 0.6但是来自包irr的kappa2函数给了我:
irr::kappa2(df)
Cohen's Kappa for 2 Raters (Weights: unweighted)
Subjects = 5
Raters = 2
Kappa = 0.545
z = 1.37
p-value = 0.171“权重”的默认选项是“未加权”,那么为什么这里的结果与我的手动方法不同呢?是否涉及到一些调整,这在函数的帮助页中没有记录?还是我搞砸了科恩卡帕的公式?
发布于 2018-09-14 16:50:47
你把卡帕计算错了。
再看看维基百科文章,特别是他们给出的例子。
下面是一个工作通过的示例,展示了用于说明的相同中间步骤,但基于您的数据。
table(df)
# x2
#x1 a b
# a 3 1
# b 0 1
p0 <- (3 + 1) / (3 + 1 + 1 + 0)
pa <- (3 + 1) / (3 + 1 + 1 + 0) * (3 + 0) / (3 + 1 + 1 + 0)
pb <- (0 + 1) / (3 + 1 + 1 + 0) * (1 + 1) / (3 + 1 + 1 + 0)
pe <- pa + pb
kappa <- (p0 - pe) / (1 - pe)
#[1] 0.5454545该值与一个irr::kappa2报告完全一致。
https://stackoverflow.com/questions/52336043
复制相似问题