使用Python的双向Anova

问题描述

我试图做一个双向方差分析,试图找出两个变量(B和M)在样品分类(由参数C给出)中的重要性。

我正在尝试调整数据框的形状以使其适合statsmodels包。但是,使用pd.melt一次只能包含一个变量(B或M)。

关于如何使用两个变量的值执行双向ANOVA的任何建议(以下面给出的代码的最后两行的方式)将很有帮助。

B,M和C的值:

B : [10.,4.,6.,5.]
M : [9.,8.,6.]
C : [1.,2.,3.,1.]

import numpy as np
import pandas as pd
import statsmodels.api as sm
from statsmodels.formula.api import ols
d = pd.read_csv("/Users/Hrihaan/Desktop/Data.txt",sep="\s+")
d_melt = pd.melt(d,id_vars=['C'],value_vars=['B'])
#model = ols('C ~ C(B) + C(M) + C(B):C(M)',data=d_melt).fit()
#anova_table = sm.stats.anova_lm(model,typ=2)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)