반응형
Python 으로 2그룹 이상 ANOVA test할때...
import pandas as pd
from scipy import stats
data=pd.read_csv('data.csv')
# stats f_oneway functions takes the grous as inpu and returns F, p
fvalue, pvalue = stats.f_oneway(data['A'],
data['B'],
data['C'])
print(f"Results of ANOVA test:\n The F-statistic is: {fvalue}\n The p-value is: {pvalue}")
그 다음 사후검정으로 Tukey hsd test 해줌
import statsmodels.formula.api as smf
import statsmodels.stats.multicomp as multi
n=numOfValue
# data for analysis in one df with index
a=['A']*n
b=['B']*n
c=['C']*n
index=a+b+c+d+e
value=data['A'].to_list()+data['B'].to_list()+data['C'].to_list()
df=pd.DataFrame()
df['index']=index
df['value']=value
mc=multi.MultiComparison(df['value'], df['index'])
results=mc.tukeyhsd()
print(results)
근데 이 결과를 dataframe 으로 저장하기 !!
(간단한데 복잡함;)
df_results = pd.DataFrame(data=results._results_table.data[1:], columns=results._results_table.data[0])
반응형
댓글