我使用kappam.fleiss()
包中的irr
函数,为多个评估者之间的协议估计了Fleiss的kappa。
现在,我想使用引导程序来估计一致性和置信区间。
有人可以举个例子吗?
R1 R2 R3 R4
1 1 1 1
1 1 0 1
0 0 0 0
2 1 2 2
n n n n
#load libraries
library("irr")
library("boot")
# estimate fleiss' kappa
kappam.fleiss(df)
答案 0 :(得分:0)
您需要定义一个函数来提取相关性统计信息。对于kappam.fleiss
,以下代码将执行基本的非参数引导。我以diagnoses
包中的irr
为例。
library("irr")
library("boot")
bt <- boot(diagnoses, function(x, idx) {kappam.fleiss(x[idx,])$value}, R=1000)
用于计算统计信息的函数带有两个参数:作为引导程序样本一部分的数据和行的索引。然后,我们将kappa值提取到1000倍。
结果将为您提供以下内容
> bt
ORDINARY NONPARAMETRIC BOOTSTRAP
Call:
boot(data = diagnoses, statistic = function(x, idx) {
kappam.fleiss(x[idx, ])$value
}, R = 1000)
Bootstrap Statistics :
original bias std. error
t1* 0.4302445 -0.01013167 0.05516197
现在,您可以使用boot
包中的某些功能来获得改进的CI。 boot.ci
函数计算置信区间
> boot.ci(bt)
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 1000 bootstrap replicates
CALL :
boot.ci(boot.out = bt)
Intervals :
Level Normal Basic
95% ( 0.3323, 0.5485 ) ( 0.3396, 0.5463 )
Level Percentile BCa
95% ( 0.3142, 0.5209 ) ( 0.3336, 0.5433 )
Calculations and Intervals on Original Scale
Some BCa intervals may be unstable
Warning message:
In boot.ci(bt) : bootstrap variances needed for studentized intervals