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

时间:2015-03-25 13:13:17

标签: r irr

我正在尝试使用irr包提供的Light的kappa计算R中的观察者间可靠性。这是一个完全交叉的设计,其中15个观察者为存在的东西(“1”)或不存在的东西(“0”)评分20个主题。 这是我的数据框(从Excel工作表导入):

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

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

编辑:我找到了问题的解决方案,无需排除数据。 为了计算流行率和偏倚调整的kappa,pabak可用于birater问题。对于像这样的多重问题,你应该使用Randolph的kappa。这是基于fleiss'kappa,因此不考虑差异。我遇到问题的理想选择。

可以找到在线计算器here 在R中,可以使用Raters包。我比较了两种方法之间的结果,结果实际上是相同的(小数点后六位的差异)。

1 个答案:

答案 0 :(得分:0)

您收到此错误是因为列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