双向重复测量ANOVA的Python函数
谢谢大家的回答。我想在Python中进行一个双向重复测量的方差分析(ANOVA),其中一个自变量有5个水平,另一个自变量有4个水平,还有一个因变量。我查阅了scipy的文档和一些网上的博客,但似乎找不到相关的信息。
2 个回答
8
你可以使用Pingouin这个包里的 rm_anova 函数,它可以直接和pandas的DataFrame一起使用,比如:
import pingouin as pg
# Compute the 2-way repeated measures ANOVA. This will return a dataframe.
pg.rm_anova(dv='dv', within=['iv1', 'iv2'], subject='id', data=df)
# Optional post-hoc tests
pg.pairwise_ttests(dv='dv', within=['iv1', 'iv2'], subject='id', data=df)
4
这个问题虽然老旧,但我还是来给个答案。
你可以看看 pyvttbl 这个库。使用这个库(可以通过Pip安装),你可以进行n路方差分析,适用于独立测量和重复测量(还有混合设计)。需要注意的是,你可能需要使用Pyvttbl自己提供的数据框方法来处理你的数据。
其实这很简单:
dataframe.anova('dv', sub='id', wfactors=['iv1', 'iv2'])
你可以查看我的博客,里面有更详细的例子,讲解如何进行重复测量的双向方差分析。