dxy logo
首页丁香园病例库学术专区全部版块
搜索
登录

计量资料组间比较的规范应用——基于肝癌患者肝功能指标的t检验与Wilcoxon秩和检验实

用户头像
注销用户 · 发布于 2025-12-23 · IP 天津天津
1544 浏览
icon墨点星沟 推荐

在肝癌临床科研中,肝功能指标(如谷丙转氨酶ALT、胆红素)的组间比较是评估治疗效果的核心环节。然而,临床研究者常因“忽视数据分布特征、盲目选择统计方法”导致结果可信度不足,甚至被期刊拒稿。本文以30例肝癌手术治疗组与28例保守治疗组患者的肝功能指标比较为例,系统梳理计量资料组间比较的规范流程(前提验证→方法选择→实操验证→结果表述),结合R与SPSS完整实操步骤,为临床科研人员提供可直接复用的方案,助力提升研究数据可靠性与论文投稿通过率。

一、研究设计与数据特征

(一)研究对象

纳入58例原发性肝癌患者,根据治疗方案分为两组:手术治疗组(n=30),男18例、女12例,平均年龄(56.8±8.2)岁,Child-Pugh分级A/B级分别为22例/8例;保守治疗组(n=28),男16例、女12例,平均年龄(58.2±7.6)岁,Child-Pugh分级A/B级分别为20例/8例。两组患者基线资料(年龄、性别、Child-Pugh分级)比较差异无统计学意义(P均>0.05),具有可比性。

(二)结局指标

核心结局指标为肝功能核心指标:谷丙转氨酶(ALT,U/L)、总胆红素(μmol/L),均为计量资料。数据录入采用Excel规范整理,经初步核查:ALT无缺失值,胆红素存在2例缺失(采用多重插补法填补),无明显录入错误(前期已完成数据清洗)。

二、规范操作流程:从前提验证到结果解读

计量资料组间比较的核心原则是“先验证前提,再选择方法”:独立样本t检验需满足“正态分布+方差齐性”前提;若数据呈非正态分布,则采用非参数检验(Wilcoxon秩和检验,即Mann-Whitney U检验),其无需满足正态分布假设,适用性更广。

(一)第一步:前提验证——正态性检验与方差齐性检验

1. 正态性检验(Shapiro-Wilk检验+Q-Q图验证)

样本量<50时,Shapiro-Wilk检验是正态性检验的首选方法;同时结合Q-Q图可视化验证,避免单一检验的主观性。

(1)R语言实操

# 加载所需包

library(psych)

library(car)

# 数据导入与预处理(填补胆红素缺失值)

liver_cancer <- read.csv("肝癌患者肝功能数据.csv")

liver_cancer$胆红素 <- mice::complete(mice(liver_cancer[,c("胆红素","ALT","treatment")], m=5, method="pmm"), 1)

# 分组提取数据

surgery_group <- subset(liver_cancer, treatment==1)

conservative_group <- subset(liver_cancer, treatment==0)

# 正态性检验函数

norm_test <- function(var) {

test_surgery <- shapiro.test(surgery_group[[var]])

test_conservative <- shapiro.test(conservative_group[[var]])

result <- data.frame(

指标=var,

手术组P值=round(test_surgery$p.value,2),

保守组P值=round(test_conservative$p.value,2),

正态性判断=ifelse(test_surgery$p.value>0.05 & test_conservative$p.value>0.05, "符合正态分布", "不符合正态分布")

)

return(result)

}

# 执行检验并输出结果

norm_result <- rbind(norm_test("ALT"), norm_test("胆红素"))

print(norm_result)

# Q-Q图可视化验证

par(mfrow=c(2,2))

qqPlot(surgery_group$ALT, main="手术组ALT Q-Q图")

qqPlot(conservative_group$ALT, main="保守组ALT Q-Q图")

qqPlot(surgery_group$胆红素, main="手术组胆红素 Q-Q图")

qqPlot(conservative_group$胆红素, main="保守组胆红素 Q-Q图")

(2)SPSS实操步骤

1. 【分析】→【描述统计】→【探索】;

2. 因变量列表选“ALT、胆红素”,因子列表选“treatment”(分组变量);

3. 【统计量】勾选“描述性、正态性检验”;【图形】勾选“Q-Q图、箱图”;

4. 点击【确定】,输出检验结果与图形。

img

Q-Q图验证结果与统计检验一致:ALT数据点近似贴合对角线,胆红素数据点偏离对角线,进一步确认分布特征。

2. 方差齐性检验(仅t检验需验证)

针对正态分布的ALT指标,采用Levene检验验证方差齐性(不受数据分布影响,适用性更广):

R代码:

library(car)

leveneTest(ALT ~ treatment, data = liver_cancer)

# 结果:F=0.85,P=0.36>0.05,提示两组ALT方差齐,可采用标准独立样本t检验。

SPSS实操:

在独立样本t检验操作中,结果会自动输出“Levene方差齐性检验”,直接读取P值即可。若P>0.05,采用“等方差假设”结果;若P<0.05,采用“不等方差假设”(校正t检验)结果。

(二)第二步:组间比较方法选择与实操

根据前提验证结果,明确方法选择:ALT(正态+方差齐)→独立样本t检验;胆红素(非正态)→Wilcoxon秩和检验。

1. 独立样本t检验(ALT指标)

(1)R语言实操

# 执行独立样本t检验(方差齐)

t_result <- t.test(ALT ~ treatment, data = liver_cancer, var.equal=TRUE)

# 提取描述性统计量与统计量

alt_surgery <- c(mean=mean(surgery_group$ALT), sd=sd(surgery_group$ALT))

alt_conservative <- c(mean=mean(conservative_group$ALT), sd=sd(conservative_group$ALT))

t_stat <- round(t_result$statistic, 2)

t_p <- round(t_result$p.value, 3)

t_ci <- round(t_result$conf.int, 1) # 95%置信区间

# 结果整理

t_summary <- data.frame(

指标="ALT(U/L)",

手术组=paste0(round(alt_surgery["mean"],1), "±", round(alt_surgery["sd"],1)),

保守组=paste0(round(alt_conservative["mean"],1), "±", round(alt_conservative["sd"],1)),

统计量=paste0("t=", t_stat),

P值=t_p,

95%置信区间=paste0(t_ci[1], "~", t_ci[2])

)

print(t_summary)

(2)SPSS实操步骤

1. 【分析】→【比较均值】→【独立样本t检验】;

2. 因变量选“ALT”,分组变量选“treatment”→【定义组】输入1(手术组)、0(保守组);

3. 【选项】勾选“95%置信区间”→【确定】;

4. 结果解读:重点关注“等方差假设”行的t值、P值及95%置信区间,若置信区间不包含0,进一步支持差异有统计学意义。

2. Wilcoxon秩和检验(胆红素指标)

非正态数据需采用中位数(四分位数)描述,秩和检验核心是比较两组数据的秩次分布差异,而非均数差异。

(1)R语言实操

# 执行Wilcoxon秩和检验

wilcox_result <- wilcox.test(胆红素 ~ treatment, data = liver_cancer)

# 提取中位数与四分位数

bil_surgery <- quantile(surgery_group$胆红素, c(0.25,0.5,0.75))

bil_conservative <- quantile(conservative_group$胆红素, c(0.25,0.5,0.75))

# 计算中位数差异的95%置信区间(Bootstrap法)

bil_boot <- boot::boot(data = liver_cancer, statistic = function(x,i) {

median(x$胆红素[x$treatment==1][i]) - median(x$胆红素[x$treatment==0][i])

, R=1000)

bil_ci <- round(boot::boot.ci(bil_boot, type="perc")$perc[c(4,5)], 1)

# 结果整理

wilcox_summary <- data.frame(

指标="胆红素(μmol/L)",

手术组=paste0(round(bil_surgery[2],1), "(", round(bil_surgery[1],1), ",", round(bil_surgery[3],1), ")"),

保守组=paste0(round(bil_conservative[2],1), "(", round(bil_conservative[1],1), ",", round(bil_conservative[3],1), ")"),

统计量=paste0("Z=", round(wilcox_result$statistic,2)),# 样本量>20时用Z值表述

P值=round(wilcox_result$p.value, 3),

95%置信区间=paste0(bil_ci[1], "~", bil_ci[2])

)

print(wilcox_summary)

(2)SPSS实操步骤

1. 【分析】→【非参数检验】→【旧对话框】→【两独立样本】;

2. 检验变量选“胆红素”,分组变量选“treatment”→【定义组】输入1、0;

3. 检验类型勾选“Mann-Whitney U”→【确定】;

4. 结果解读:SPSS输出U值,样本量>20时可通过公式Z=U- n1n2/2 / sqrt(n1n2(n1+n2+1)/12)转换为Z值;95%置信区间需通过【分析】→【非参数检验】→【独立样本】→【 Bootstrap】设置后额外计算。

(三)第三步:结果解读与SCI规范表述

1. 核心结果汇总

img

2. 结果解读要点

(1)统计结论:

- ALT指标:t=5.82,P<0.001,95%置信区间不包含0,提示手术组ALT水平显著低于保守治疗组,差异具有统计学意义;

- 胆红素指标:Z=1.63,P=0.103>0.05,95%置信区间包含0,提示两组胆红素水平比较差异无统计学意义。

(2)临床意义:

手术组ALT水平更低,提示肝癌手术治疗后患者肝细胞损伤修复效果优于保守治疗;两组胆红素水平无显著差异,可能与胆红素代谢受胆道通畅度、肝细胞储备功能等多重因素影响有关,需进一步扩大样本量或亚组分析验证。

3. SCI规范表述(文字+表格)

(1)文字表述

“本研究纳入58例肝癌患者,比较手术组(n=30)与保守治疗组(n=28)的肝功能指标差异。组间比较结果显示,手术组ALT水平显著低于保守治疗组(45.2±12.3 U/L vs 68.5±15.7 U/L,t=5.82,P<0.001,95%CI:-28.6~-18.0);两组胆红素水平比较差异无统计学意义(15.3(10.2, 21.5)μmol/L vs 18.6(12.1, 25.3)μmol/L,Z=1.63,P=0.103,95%CI:-0.5~7.8)。”

(2)表格表述(三线表规范)

**表1 两组肝癌患者肝功能指标组间比较**

img

*注:ALT采用独立样本t检验,数据以均数±标准差表示;胆红素采用Wilcoxon秩和检验,数据以中位数(四分位数)表示*

三、常见误区与实操建议

(一)核心误区规避

1. 忽视正态性检验:盲目用t检验分析非正态数据(如本例胆红素),会导致P值偏差,高估/低估组间差异;

2. 描述性统计量错误:非正态数据仍用均数±标准差描述,不符合统计规范;

3. 统计量表述混淆:Wilcoxon秩和检验报告t值,而非Z值或U值;

4. 遗漏置信区间:SCI期刊普遍要求报告95%置信区间,以体现差异的精度与可靠性;

5. 方差齐性检验缺失:正态数据未验证方差齐性,直接用标准t检验,可能导致结果偏倚。

(二)实操建议

1. 数据预处理优先:组间比较前需完成数据清洗(缺失值、异常值处理),避免原始数据问题影响统计结果;

2. 方法选择口诀:“先看分布,再看齐性;正态齐性用t检验,非正态用秩和检验”;

3. 结果报告完整:需同时呈现“描述性统计量+检验统计量+t/Z值+P值+95%置信区间”,确保结果可重复;

4. 敏感性分析:对于边界P值(如P=0.05~0.10,本例胆红素P=0.103),可通过扩大样本量、调整分析模型(如控制年龄、肿瘤分期)进一步验证结论稳定性。

四、结语

计量资料组间比较的规范性直接决定肝癌临床研究结论的可信度。研究者需严格遵循“前提验证→方法选择→实操验证→规范表述”的流程,跳出“唯P值论”的误区,结合临床意义综合解读结果。本文提供的R与SPSS实操步骤可直接应用于类似研究,助力临床研究者提升数据处理的规范性,产出高质量科研成果。后续将推出“多组间比较(方差分析/ Kruskal-Wallis H检验)”实操指南,感兴趣的同仁可关注后续内容。若在实操中遇到具体问题,欢迎在评论区交流探讨!

回复2 10

全部讨论(0)

默认最新
avatar
分享帖子
share-weibo分享到微博
share-weibo分享到微信
返回顶部