【发布时间】:2019-11-26 21:54:42
【问题描述】:
尝试对大致如下所示的数据运行一种方法 Anova:
Year | Diversity |
2010 | 6 |
2010 | 8 |
... | ... |
2011 | 10 |
... | ... |
2019 | 7 |
有1827行,每年范围内各个点的多样性值。我正在逐年比较差异。当我这样做时
F, p = stats.f_oneway(df.loc[df["Year"] == 2010],
df.loc[df["Year"] == 2011],
df.loc[df["Year"] == 2012])
(这里我省略了其余的组,因为这非常难看,但我不知道如何通过不同的组进行 Anova 测试)。我得到一个数组,每个 F 和 p 有 2 个值:
F: type float64, size (2,),
-2.588805281700000000e+11, 4.908743340532151223e+00
p: type float64, size (2,),
nan, 0.00774507
根据我的阅读,我找不到任何人得到 2 个数组,应该只有一个 F 值和一个 P 值,我做错了什么? (df 中没有零或 NAN)。
当我这样做时:
mod = ols('Diversity ~ (Year)', data = df).fit()
mod.summary()
我得到一个普通的汇总表,F = 1.462,p = 0.227(与我上面的尝试不同)。
任何关于我的烂摊子的想法将不胜感激......
【问题讨论】:
标签: python pandas scipy statistics anova