用sas做费希尔fisher官网精确检验结果p值看哪个

高级会员, 积分 662, 距离下一级还需 338 积分

如题。proc means中有哪个选择项是有关双尾、单尾的吗?

貌似里边就T统计量需要这个选项?好像没有单独这个选项,只好人工把得到的双侧概率除2得到单侧的了……

高级会员, 积分 662, 距离下一级还需 338 积分

高级会员, 积分 662, 距离下一级还需 338 积分

高级会员, 积分 662, 距离下一级还需 338 积分

貌似里边就T统计量需要这个选项?好像没有单独这个选项,只好人工把得到的双侧概率除2得到单侧的了……

单侧T值是什么意思呢?T应该是统计量把,由样本就可以确定的一个数?

金牌会员, 积分 2310, 距离下一级还需 690 积分

同问!在R中t.test()有alternative选项,可以选择双侧,左侧,右侧,但是不知道在sas中怎么实现??

偶然间发现R在计算患病风险比值比(OR, odds ratio)的结果输出中存在一个难以理解的“错误”:OR值检验的P值<0.05 (说明暴露与不暴露发生疾病的风险存在显著差异),但是置信区间却跨1(说明暴露与不暴露发生疾病的风险不存在显著差异


输出的普通卡方及精确卡方检验的P值分别为0.039及0.046,OR值及置信区间为:,采用glm的logisitc回归得到的结果与上述一样(具体输出省略):
简单的思考之后怀疑可能是R程序包有问题,因为R程序包的bug问题不是少见,于是采用SAS程序进行验证:
结论不论是列联表,还是logisitic回归,输出的普通卡方及Fisher精确卡方检验的P值均与R的输出一致,但是OR及95%CI均为:(其他详细输出省略),这个置信区间与P值=0.039是对应的。所以一时间还是觉得SAS靠谱,R有时候真的需要谨慎。

但是后来重新思考,觉得应该不至于R连这种简单的统计都会出问题,难道是SAS和R在计算OR值的置信区间上采用了不同的方法。于是翻阅现今流行病学最权威的书籍Modern Epidemiology (3rd edition)希望找到OR值的置信区间的计算上是否存在校正的置信区间的算法。但是似乎并没有找到。

然后想想R中经常存在不同程序包计算同一指标的方法,于是查阅可计算OR置信区间的不同程序包的输出,是否均是相同的问题。结果发现fmsb程序包输出的OR置信区间与SAS的输出结果一致。具体如下:


于是进一步明确不是R的程序包存在bug,而是方法的不同导致了SAS与R的输出结果存在差异。进一步回过头查看cci 函数的输出结果,结果发现OR的置信区间输出的说明为Exact 95% CI,于是查看cci

于是最终想明白三件事:

(1)R的简单程序包(如fmsb,功能仅类似与计算器)通常计算的都是OR值普通的置信区间,R的高级程序包(如epicalc,stat等)通常默认输出的是OR精确的置信区间,但epicalc也可以提供OR值普通的置信区间,而stat只能提供OR精确的置信区间。
(2)只知道P值有精确检验的方法,原来OR值也有精确置信区间一说
logisitic过程只能提供OR值普通的置信区间,不能提供OR值精确的置信区间,因此,从某种角度上来说,SAS其实并没有R精细


同时在二楼跟帖中补充了STATA中关于OR值的相关问题讨论,欢迎大家讨论,^_^

偶然间发现R在计算患病风险比值比(OR, odds ratio)的结果输出中存在一个难以理解的“错误”:OR值检验的P值
谢谢分享,之前也遇到类似问题,没细究~但对于这样敏感的p值,建议下结论的时候也要甚慎重,结合专业多角度分析吧

补充一下,STATA的关于OR计算的常规方法cci 默认输出的也是精确置信区间,但是P值为普通卡方检验的P值


加上exact选项之后可输出精确检验的P值
加载exactcci函数后可以同时输出普通的及精确调整的置信区间,但采用的调整方法为Yates
加上exact选项后可输出Fisher精确调整的置信区间
还真没注意到这个事,SAS的OR置信区间应该是用的woof法,还有一个常用方法是Miettinen法,这个精确置信区间的算法,可能只有问包的作者了。
请问Odds Ratio是P/1-P吗?我想要求的各自变量的发生比率,怎么计算?软件可以操作码?

我要回帖

更多关于 费希尔fisher官网 的文章

 

随机推荐