【发布时间】:2018-10-01 18:28:01
【问题描述】:
def anova_analysis():
datafile = "test3.csv"
data = pd.read_csv(datafile, header=0)
print(data)
moore_lm = ols('Y ~ C(A, Sum)*C(B, Sum)',
data=data).fit()
table = sm.stats.anova_lm(moore_lm, typ=2) # Type 2 ANOVA DataFrame
print(table)
return table
Y A B AB
28 -1 -1 1
36 1 -1 -1
18 -1 1 -1
31 1 1 1
25 -1 -1 1
32 1 -1 -1
19 -1 1 -1
30 1 1 1
27 -1 -1 1
32 1 -1 -1
23 -1 1 -1
29 1 1 1
为什么这些数据只适用于 >4 行数据? 如果我设计一个 2 因子全阶乘表并且只进行 1 次复制,它将看起来像这样
Y A B AB
28 -1 -1 1
36 1 -1 -1
18 -1 1 -1
31 1 1 1
但是 statsmodel 失败了
文件 “/home/dsb_mac/anaconda2/envs/bayes/lib/python2.7/site-packages/numpy/lib/function_base.py”, 第 1033 行,在 asarray_chkfinite 中 “数组不得包含 infs 或 NaNs”) ValueError: 数组不能包含 infs 或 NaNs
【问题讨论】:
标签: python numpy statistics statsmodels