【问题标题】:How to calculate P-value by using Fisher's exact test in SAS如何在 SAS 中使用 Fisher 精确检验计算 P 值
【发布时间】:2013-06-17 10:41:24
【问题描述】:

如何在 SAS 中使用 proc freq(通过 Fisher 精确方法)计算 P 值,因为我在 proc freq 中使用 chisq 方法时收到警告说明。 警告:25% 的细胞的预期计数小于 5。卡方可能不是有效的测试 请提供语法和解释为什么我会收到此警告? 谢谢

当前代码:

ods OUTPUT Freq.Table1.ChiSq=P1_&TR1&V1(WHERE=(Statistic="Chi-Square") RENAME=(Prob=COL&TR1)); 
PROC FREQ DATA=P&V1;
    TABLE TREATMENT*SSA/CHISQ ;
    WHERE TREATMENT IN (1 &TR1);
RUN; 
QUIT;

【问题讨论】:

  • 请提供您当前使用的代码以及到目前为止您尝试过的代码。
  • @probackpacker :这里是代码:ods OUTPUT Freq.Table1.ChiSq=P1_&TR1&V1(WHERE=(Statistic="Chi-Square") RENAME=(Prob=COL&TR1));处理频率数据=P&V1;表处理*SSA/CHISQ;在哪里治疗 (1 &TR1);跑;辞职;我有 7 个治疗组(&tr1 到 7)和一个车辆池,所以我将每个组与池组进行比较,所以代码中有宏。我需要输出 Fisher p 值

标签: sas statistics


【解决方案1】:

您需要做的就是在您的 TABLES 语句中放入 /FISHER 而不是 /CHISQ。 您还需要更改 ODS 语句,表名是 'FisersExact'

【讨论】:

  • :感谢解决方案为什么我在 chisq 方法期间收到警告,而且我得到两个 p 值(右侧/左侧),使用 Fisher 确切我应该将哪个值计为 P 值?
  • 卡方检验仅在每个单元格包含一定数量的值时才有效,通常接受的数字是 5,这是 SAS 使用的。因此需要一个精确的测试,即Fisher。你应该只得到 2 个值,测试值(表概率(P))和 p 值(Pr
  • 忽略我关于 p 值的最后评论,我从您的评论中意识到您正在针对 2x2 矩阵执行此操作,其中返回左侧和右侧值。无需详细说明,我建议您阅读 PROC FREQ 的 SAS 文档,尤其是解释所有结果的 Fishers Exact Test 部分。
  • 感谢你们的cmets。我一定会接受的。您能否向我推荐一些有关 P 值概念及其计算标准的文档或论文。会有很大帮助的..!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-07
  • 2015-09-17
  • 1970-01-01
  • 2021-11-11
  • 2016-12-01
  • 2016-04-29
相关资源
最近更新 更多