Python——单因素方差分析表
- 假设一个实验有一个影响因素有三个水平,每个水平有5个观察值,数据如下。

##导入包
import pandas as pd
import numpy as np
#导入所数据表
data=pd.read_excel(r'方差分析.xls',)
##计算各组均值
mea=[]
for i in range(0,data.columns.size):
mea.append(np.mean(data.iloc[:,i]))
##计算ssa
ssa=0
for i in range(0,data.columns.size):
ssa+=((mea[i]-np.mean(mea))**2)*len(data)
##计算sse
sse=0
for j in range(0,data.columns.size):
for i in range(0,len(data)):
sse+=(int(data.iloc[i:i+1,j])-mea[j])**2
##计算msa,mse
msa=ssa/(data.columns.size-1)
mse=sse/(data.columns.size*len(data)-data.columns.size)
print(msa,mse)
##计算F
f=msa/mse
f
##创建数据框,将结果写入数据框
df=pd.DataFrame()
sou=["treatment"