临床上的一致性检验指的在诊断试验中,研究者希望考察不同的研究方法在诊断结果上是否具有一致性。分为两种情况:一是评价待评价的诊断试验方法与金标准的一致性;二是评价两种化验方法对同一样本的化验结果的一致性或者两个医务工作者对同一组病人的诊断结论的一致性或者同一个医务工作者对同一组病人前后两次的观察做出的诊断的一致性等。
我们今天就来介绍下R语言如何实现临床化验结果的一致性与否的检验。在R语言中有两个函数都可以进行一致性检验,分别是kappa检验和McNemar检验。当然,两者也是有一定的区别的。如果检验的项目是多等级的分布那么选择kappa检验;如果是2个等级的检查那么选择McNemar检验。
我们来看下两个函数的参数情况:
1. kappa检验
Weight参数是函数的重点,如果有多个检查项目中有一个是为0的时候需要加权检验,其他时候一般都是非加权检验。
Ratings数据的结构一般是:所有样本在两个方法所得到的结果的一个表格数据。
方法1 | 方法2 |
---|---|
等级 | 等级 |
等级 | 等级 |
等级 | 等级 |
我们利用irr中的数据做一下检验分析样例程序如下:
require(irr)
data(diagnoses)
dat=diagnoses[,c(1,2)]
kappa2(dat[,c(1,2)],'unweighted')
运行结果如下:
其中p-value<0.05代表具有一致性。Kappa的值的大小代表的一致性的程度,此值介于0到1之间,越大一致性程度越大。
2. McNemar检验
其中一个参数correct默认是true。我们通过理论频数进行判断。所谓理论频数指某H0假设计算各分类理论上的发生或者未发生计数值,记为T。
如果某个格子出现1≤T ≤5,则需作连续性校正。
我们利用官方提供的例子进行构建数据集
Performance <-
matrix(c(794, 86, 150, 570),
nrow = 2,
dimnames = list("1st Survey" = c("Approve","Disapprove"),
"2nd Survey" =c("Approve", "Disapprove")))
Performance
mcnemar.test(Performance)
数据集和结果如图:
以上就是一致性检验的实现过程,欢迎大家学习交流