我正在尝试执行Tukey的HSD测试,以查看我的数据中几个组的均值是否存在显着差异。例如,在这里我试图查看“类”组在变量“ acad_se_communicate_needs”中是否存在均值差异。但是,我在结果中遇到NaN值。这是怎么回事,我该如何解决?
我已经使用statsmodels函数来做到这一点。我避免了需要将数据分成每个组的不同数据帧的方法,因为我必须对多个变量执行此分析。而且,这些方法对我来说真的很难理解。
SELECT CAST('19-MAR-2018 12:00' AS DATETIME)
我的输出如下...到处都是楠!
from statsmodels.stats.multicomp import pairwise_tukeyhsd
from statsmodels.stats.multicomp import MultiComparison
mc = MultiComparison(clean['acad_se_communicate_needs'], clean['Class'])
result = mc.tukeyhsd()
print(result)
有nan值(缺少)。我尝试了一些代码来删除缺失的值。该代码看起来像
sm.stats.multicomp.pairwise_tukeyhsd('acad_se_communicate_needs','Class',alpha = 0.05,missing ='drop')
但是,我收到一条错误消息,指出“ pairwise_tukeyhsd()收到了意外的关键字参数'missing'”。
答案 0 :(得分:0)
我最终创建了一个新的数据框,过滤仅代表两个变量的列,然后删除缺少的值。然后,我执行了Tukey的HSD测试。
cleanTukey1 = clean.filter(items=['acad_se_communicate_needs', 'Class']).dropna()
from statsmodels.stats.multicomp import pairwise_tukeyhsd
from statsmodels.stats.multicomp import MultiComparison
mc1 = MultiComparison(cleanTukey1['acad_se_communicate_needs'], cleanTukey1['Class'])
result1 = mc1.tukeyhsd()
print(result1)
print(mc1.groupsunique)
答案 1 :(得分:0)
尝试一下:
import pandas
import statsmodels.formula.api as smf
import statsmodels.stats.multicomp as multi
test = <df>.filter(items=['<variable 1>', '<variable 2>']).dropna()
mc1 = multi.MultiComparison(test['<quantitative variable>'], test['<categorical variable>'])
result1 = mc1.tukeyhsd()
print(result1)