计算R中fleiss kappa的置信区间

时间:2016-11-28 00:30:56

标签: r confidence-interval kappa

我使用来自R的irr包来计算一个Fleiss kappa统计数据,用于评估7张照片(比例为1到7)的263名评分者。 kappam.fleiss(db)传递了kappa统计量(0.554; z = 666)和p值(0),但不幸的是,包含的kappa统计量没有置信区间。 任何人都可以帮助我了解如何获得置信区间吗?

THX

增加例子: 行名/ rater.1 / rater.2 / rater.3 / rater.4 / rater.5 / .... / rater.263 照片1/6/6/6/6/7 / ... / 5 照片2/1 1/2/1/1/1 / ...... / 2 照片3/5/5/5/5/6 / ... / 6 照片4/3/1/3/3/3 / ... / 1 照片5/2/3/2/2 / / / 3 照片6/4/4/4/4/4 / ... / 4 照片7/7/7/7/7/5/..//7

2 个答案:

答案 0 :(得分:1)

irr包不提供置信区间。你有可能从一个可以获得的测试统计数据中计算出来(如果是这样的话,就像42所说的那样,这是一个Cross Validated的问题)。

但是,这是由raters包提供的。

library(raters) 
data(diagnostic)
concordance(diagnostic,test="Chisq")
concordance(diagnostic,test="Normal")
concordance(diagnostic,test="MC",B=100)
Inter-rater Agreement 
$Fleiss
      Kappa         LCL         UCL   Std.Error     Z value    Pr(>|z|) 
 0.43024452  0.38247249  0.47801655  0.02437393 17.65183058  0.00000000 

$Statistic
        S       LCL       UCL    pvalue 
0.4444444 0.3555556 0.5404861 0.0000000

https://cran.r-project.org/web/packages/raters/raters.pdf

答案 1 :(得分:1)

kappam.fleiss函数和concordance函数之间的区别在于,第一个用于详细评估者,第二个用于摘要数据。在Wikipedia页面上查看以下示例:

DATA <- data.frame(Rater1 = c(5, 2, 3, 2, 1, 1, 1, 1, 1, 2))
DATA$Rater2 <- c(5, 2, 3, 2, 1, 1, 1, 1, 1, 2)
DATA$Rater3 <- c(5, 3, 3, 2, 2, 1, 1, 2, 1, 3)
DATA$Rater4 <- c(5, 3, 4, 3, 2, 1, 2, 2, 1, 3)
DATA$Rater5 <- c(5, 3, 4, 3, 3, 1, 2, 2, 1, 4)
DATA$Rater6 <- c(5, 3, 4, 3, 3, 1, 3, 2, 1, 4)
DATA$Rater7 <- c(5, 3, 4, 3, 3, 1, 3, 2, 2, 4)
DATA$Rater8 <- c(5, 3, 4, 3, 3, 2, 3, 3, 2, 5)
DATA$Rater9 <- c(5, 4, 5, 3, 3, 2, 3, 3, 2, 5)
DATA$Rater10 <- c(5, 4, 5, 3, 3, 2, 3, 3, 2, 5)
DATA$Rater11 <- c(5, 4, 5, 3, 3, 2, 3, 4, 2, 5)
DATA$Rater12 <- c(5, 4, 5, 3, 3, 2, 4, 4, 3, 5)
DATA$Rater13 <- c(5, 5, 5, 4, 4, 2, 4, 5, 3, 5)
DATA$Rater14 <- c(5, 5, 5, 4, 5, 2, 4, 5, 4, 5)

library("irr")
kappam.fleiss(DATA)

TABLE <- matrix(rep(0, 50), nrow = 10)
for (COLUMN in 1:5) {
  for (ROW in 1:10) {
    TABLE[ROW, COLUMN] <- sum(DATA[ROW,] == COLUMN)
  }
}


library(raters) 
concordance(db = TABLE, test="Normal")