Python双向索引:使用Python的双向Anova

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

我试图重塑数据框,使其适合statsmodels包。但是,我只能使用 pd.melt 一次包含一个变量(B 或 M)。

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

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)
0

你接近答案:

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.DataFrame()
d["B"]=B
d["M"]=M
d["C"]=C
model = ols("C ~ B + M + B:M",data = d).fit()
anova_table = sm.stats.anova_lm(model, typ=2)

创建数据帧,设置模型,执行 Anova

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(320)
经纬度数据库:从 python/pandas中的经纬度数据查找最近的医院
上一篇
A1ͼֽ:这是一个数组公式 IF(ISNUMBER(A1:A100) A1:A100“”)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(46条)