关键词:R; 卡方检验; 理论频数; 实际频数; 四格表
一、案例介绍
某中医院欲比较某经典名方控制高血压的效果。将200例高血压患者随机分到试验组和对照组,随访3个月后患者的血压控制情况(分为“有效”和“无效”)。问该经典名方控制血压的效果如何?
本案例的数据为原始数据。分组变量为组别(Group),测量尺度设为“名义”,1=试验组、2=对照组。观察变量为控制效果(Effect),测量尺度设为“名义”,1=有效、0=无效。部分数据见图1。本案例数据可从“附件下载”处下载。
二、问题分析
本案例的分析目的是探究某经典名方控制血压的效果,即比较试验组与对照组血压控制率是否有差异,针对这种情况可以制作四格表,并进行2×2卡方检验。卡方检验的数据录入根据资料类型可分为两种,见表1。
2×2卡方检验需要满足3个条件:
条件1:分组变量与观察变量均为二分类变量。本案例的分组变量(Group)和观察变量(Effect)均为二分类变量,该条件满足。
条件2:观察变量相互独立。本研究中各研究对象的观测值都是独立的,不存在互相干扰的情况,该条件满足。
条件3:总例数≥40,且所有期望频数(理论频数) ≥5。该条件需要通过软件分析后判断。
三、软件操作及结果解读
(一) 导入数据
mydata <- read.csv("原始资料的卡方检验.csv") #导入CSV数据 View(mydata) #查看数据
在数据栏目中可以查看全部数据情况,数据集中共有2个变量,2个变量分别代表被调查者的组别(Group)、控制效果(Effect)。
如果数据集较大也可使用如下命令查看数据框结构,见图2。
str(mydata) #查看数据框结构
(二) 适用条件判断
对于本案例数据,条件1和条件2均满足。但需要通过总例数和期望频数来选择具体的分析方法[Pearson卡方检验、连续校正卡方检验或Fisher (费希尔)确切概率法]。这一判断过程通过统计描述来完成,详见下文。
(三) 统计描述及推断
1. 数据整理
(1) 软件操作
help( chisq.test ) #卡方独立性检验函数chisq.test的详细说明 Table <- table( mydata$Group, mydata$Effect ) #计算频数 Table # 查看频数
compare<-matrix(c(99,75,5,21),nr=2,dimnames = list(c("Trial group","Control group"),c("Effective","Noneffective"))) #数据整理并编辑为矩阵格式 compare #查看数据
(2) 结果解读
频数四格表见图3;数据整理转换为矩阵格式结果见图4,此格式为卡方检验所需要的数据格式,并存储在“compare”数据框中。
2. 计算构成比
(1) 软件操作
per_row <-prop.table(compare,margin = 1) #计算行百分比 per_row #显示行百分比
(2) 结果解读
两组血压控制有效无效百分比见图5。试验组和对照组的血压控制率分别为95.2%和78.1%。
3. 统计推断
(1) 软件操作
test <-chisq.test(compare,correct = FALSE) #不进行连续性校正 test$expected #查看期望频数
test #查看卡方检验结果
(2) 结果解读
由期望频数的结果(图6)可知,四格表的期望频数最小为12.48,均大于5,且本案例样本量为200>40,故采用Pearson χ2检验。其检验结果(图7)显示χ2=12.857、P=0.0003362,表明两组高血压患者的血压控制率的差异有统计学意义。
四、结论
本研究采用2×2卡方检验(独立样本卡方检验)比较两组高血压患者血压控制率有无差别。数据满足2×2卡方检验的条件,总例数为200例,期望频数(又称理论频数)均>5,采用Pearson χ2检验结果。结果显示,试验组和对照组的血压控制率分别为95.2%和78.1%,差异有统计学意义(χ2=12.857,P<0.001),试验组的血压控制率高于对照组。
五、知识小贴士
解读卡方检验结果时,遵循以下原则:
- 当样本量≥40,且所有期望频数(理论频数) ≥5时,可使用Pearson χ2检验;
- 当样本量≥40,有1个期望频数≥1且<5,可使用连续校正 χ2检验;
- 当样本量<40或有1个期望频数<1,需要使用Fisher确切概率法。
特别说明的是,无论样本量的大小及期望频数分布情况如何,Fisher确切概率法均可使用。在计算机能够满足运行负荷的情况下,推荐使用确切概率法。如果使用Pearson χ2检验或连续校正 χ2检验得出的P值比较接近检验水准,建议采用Fisher确切概率法。