在 Python 中执行 Dunnett's 多重比较测试



我已经确定我数据单向方差分析后最适用的事后统计分析是Dunnett的测试。我过去曾使用R执行此操作,但是由于我用来自动化工作流程的软件包,现在我仅限于Python(自动分析大数据数量(。

我发现了几个包裹(例如Sci-kit,tukeyhsd(,它们提供了多个不同的事后测试,但是它们都不包括Dunnett's。例如,我可以轻松地在Scipy中执行单向方差分析:

import scipy.stats as stats
# Made up data
a = [10, 12, 10, 14, 18] # Control
b = [15, 14, 18, 10, 38]
c = [20, 22, 23, 34, 20]
d = [50, 48, 42, 51, 51]
stats.f_oneway(a, b, c, d)
> F_onewayResult(statistic=26.92639734366354, pvalue=1.7207487532445122e-06)

但是,在此之后,我需要进行多个比较分析,与具有正态分布数据(n〜1000(的单个对照组进行比较。我知道RPY2,但是我希望在不使用Docker的情况下在机器上执行此操作。关于有能力的包装的建议吗?

(我也是一位具有相当基本脚本知识的生物学家

我们只是将其引入Scipy。它将在Scipy 1.11中提供:scipy.stats.dunnett

您可以在此处查看开发文档:https://scipy.github.io/devdocs/referend/generated/generated/scipy.stats.dunnett.html

欢迎任何反馈。(我们在写这篇文章时添加了CI和更好的str方法。(

看起来它正在与Team @ statsmodels(https://github.com/statsmodels/statsmodels/sissues/852(一起朝着良好的方向移动,我们必须使用R或用几年前出版的表进行数学。

最新更新