You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中对分组筛选数据执行卡方检验?附方法建议

解决青少年vs非青少年群体Plastics使用情况的卡方检验问题

首先,我们需要先把你的数据集重新分组,将AgeGroup合并为**青少年(Teens)和非青少年(Non-Teens)**两类,再针对这个分组和Plastics变量做卡方检验。以下是具体的R代码步骤:

步骤1:创建二分类分组变量

先给数据集新增一个区分青少年与非青少年的变量:

# 生成分组变量:Teens 或 Non-Teens
dataset$Group <- ifelse(dataset$AgeGroup == "Teens", "Teens", "Non-Teens")

步骤2:执行卡方检验

用新的Group变量和Plastics构建列联表并做卡方检验,代码逻辑和你之前的常规卡方检验一致:

# 构建列联表并运行卡方检验
chisq.test(table(dataset$Plastics, dataset$Group))

关键注意:小样本场景的替代方案

你的数据中青少年组样本量很小(仅2例),这会导致列联表的单元格期望频数低于卡方检验的常规要求(通常期望频数≥5),此时卡方检验的结果可靠性不足,建议改用Fisher精确检验:

# Fisher精确检验(适用于小样本/低期望频数场景)
fisher.test(table(dataset$Plastics, dataset$Group))

统计方法合理性建议

  • 样本量与检验前提:卡方检验依赖足够的样本量和期望频数,当单元格期望频数<5时,Fisher精确检验是更严谨的选择,尤其像你这种青少年组样本量极小的情况。
  • 混杂因素控制:如果这是观察性研究,要考虑是否存在其他混杂变量(比如年龄之外的疾病严重程度、手术类型等)影响Plastics的使用,必要时可以用逻辑回归模型来控制混杂,而非仅做简单卡方检验。
  • 结果解读补充:小样本下的统计显著性不代表实际临床意义,建议同时报告效应量(比如优势比OR)来辅助解读,你可以用epitools包计算:
    # 安装并加载epitools包(首次使用需安装)
    # install.packages("epitools")
    library(epitools)
    oddsratio(table(dataset$Group, dataset$Plastics))
    

内容的提问来源于stack exchange,提问作者Joe Crozier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:48:21