Kappam.light 来自 R 中的 irr 包:警告 sqrt(varkappa),生成的 NAns,kappa = NA,z-value=NA 和 p-value=NA

Kappam.light from irr package in R: Warning sqrt(varkappa), NAns produced, kappa = NA, z-value=NA and p-value=NA

我正在尝试使用 irr 包提供的 Light 的 kappa 为评分系统计算 R 中观察者间的可靠性。这是一个完全交叉的设计,其中 15 名观察员对 20 个对象的存在(“1”)或不存在(“0”)进行了评分。 这是我的数据框(从 excel sheet 导入):

library(irr)       
my.df #my dataframe

   a b c d e f g h i j k l m n o
1  0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
2  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3  0 0 0 0 0 0 0 0 0 0 1 0 0 1 0
4  0 1 1 0 0 0 1 0 0 0 0 0 0 0 0
5  0 1 0 0 1 1 0 0 0 1 1 0 0 1 0
6  0 1 0 0 1 1 0 0 0 0 0 1 1 0 0
7  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8  0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
9  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
11 0 1 1 1 0 1 0 0 0 1 0 0 0 0 1
12 0 1 0 0 0 1 0 1 0 1 0 0 1 0 0
13 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
14 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0
15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
17 0 1 0 1 1 1 0 0 0 0 0 1 1 1 0
18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
20 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0

接下来我尝试计算 kappa 值并得到以下响应

kappam.light(my.df) #calculating the kappa-value

Light's Kappa for m Raters

 Subjects = 20 
   Raters = 15 
    Kappa = NaN 

        z = NaN 
  p-value = NaN 

Warning messages:
1: In sqrt(varkappa) : NaNs produced
2: In sqrt(varkappa) : NaNs produced
3: In sqrt(varkappa) : NaNs produced
4: In sqrt(varkappa) : NaNs produced
5: In sqrt(varkappa) : NaNs produced
6: In sqrt(varkappa) : NaNs produced
7: In sqrt(varkappa) : NaNs produced
8: In sqrt(varkappa) : NaNs produced
9: In sqrt(varkappa) : NaNs produced
10: In sqrt(varkappa) : NaNs produced

我已经尝试将所有变量的 class 更改为因子、字符、数字、布尔值。什么都不管用。我怀疑这与相对较低的“1”分数有关。有什么建议吗?

编辑:我找到了解决问题的方法,而不必排除数据。 要计算流行率和偏差调整后的 kappa,pabak 可用于解决双打问题。对于像这样的多评估者问题,您应该使用 Randolph 的 kappa。这是基于 fleiss 的 kappa,因此不考虑方差。非常适合我遇到的问题。

可以找到在线计算器here 在 R 中,可以使用 Raters 包。我比较了两种方法的结果,结果几乎相同(小数点后第六位不同)。

您收到此错误是因为您在 ai 列中没有可变性。

首先,检查列之间的可变性

apply(df,2,sd)
        a         b         c         d         e         f         g         h         i         j         k         l         m         n         o 
0.0000000 0.5104178 0.3663475 0.4103913 0.3663475 0.4893605 0.3077935 0.2236068 0.0000000 0.4701623 0.3663475 0.4103913 0.4103913 0.4103913 0.2236068 

您看到列 ai 没有可变性。需要可变性,因为 Kappa 计算评估者间的可靠性并针对机会一致性进行更正。有两个未知数,没有可变性,这是无法计算的。

因此,如果您删除这两列,您将得到没有错误的输出。

df$a=NULL
df$i=NULL
kappam.light(df)
 Light's Kappa for m Raters

 Subjects = 20 
   Raters = 13 
    Kappa = 0.19 

        z = 0 
  p-value = 1