我正在尝试进行双向方差分析,以确定两个变量B和M对样本分类(由参数C给出)的重要性。
我正在尝试重塑数据框,以使其适用于statsmodels
软件包。但是,我只能使用pd.melt一次包含一个变量(B或M)。
请问如何使用两个变量的值执行双向方差分析(类似于下面代码的最后两行)将是一个很大的帮助。
B、M和C的值:
B : [10.,4.,4.,6.,5.]
M : [9.,6.,8.,4.,6.]
C : [1.,2.,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)