提前感谢您的回答。我想在python中进行双向重复测量ANOVA,其中一个IV有5个级别,另外4个级别,有一个DV。我试过在scipy文档和一些在线博客中四处寻找,但似乎找不到任何东西。
答案 0 :(得分:4)
这是一个老问题,但我会提供答案。
您可以查看pyvttbl。使用此库(可以通过Pip安装),您可以对独立和重复测量(以及混合设计)执行n路方差分析。请注意,您似乎必须使用Pyvttbl自己的数据框方法来处理数据。
这很简单:
dataframe.anova('dv', sub='id', wfactors=['iv1', 'iv2'])
您可以在我的博客文章中找到有关如何执行2-way ANOVA for repeated measures的更详细示例。
答案 1 :(得分:0)
您可以在直接与pandas DataFrame一起使用的Pingouin软件包(我是创建者)中使用rm_anova函数,例如:
import pingouin as pg
# Compute the 2-way repeated measures ANOVA. This will return a dataframe.
pg.rm_anova2(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)