NaN 出现在 Python 中 Tukey 的 HSD 的结果中
NaN appearing in results for a Tukey's HSD in Python
我正在尝试执行 Tukey 的 HSD 测试,看看我的数据中几组的平均值是否存在显着差异。例如,在这里我试图查看组 'Class' 的变量 'acad_se_communicate_needs' 是否存在均值差异。但是,我在结果中遇到了 NaN 值。这是怎么回事,我该如何解决?
我已经使用 statsmodels 函数来执行此操作。我避免了需要将数据拆分为每个组的不同数据帧的方法,因为我必须对多个变量执行此分析。还有,那些方法对我来说真的很难理解。
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 无处不在!
Multiple Comparison of Means - Tukey HSD,FWER=0.05
==============================================
group1 group2 meandiff lower upper reject
----------------------------------------------
Freshman Junior nan nan nan False
Freshman Senior nan nan nan False
Freshman Sophomore nan nan nan False
Junior Senior nan nan nan False
Junior Sophomore nan nan nan False
Senior Sophomore nan nan nan False
----------------------------------------------
有 nan 值(缺失)。我尝试了一些代码来删除缺失值。该代码看起来像
sm.stats.multicomp.pairwise_tukeyhsd('acad_se_communicate_needs','Class', alpha=0.05, 缺失 = 'drop')
但是,我收到一条错误消息 "pairwise_tukeyhsd() got an unexpected keyword argument 'missing'"。
我最终创建了一个新的数据框,过滤了仅代表两个变量的列,然后删除了缺失值。然后,我进行了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)
试试这个:
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)
我正在尝试执行 Tukey 的 HSD 测试,看看我的数据中几组的平均值是否存在显着差异。例如,在这里我试图查看组 'Class' 的变量 'acad_se_communicate_needs' 是否存在均值差异。但是,我在结果中遇到了 NaN 值。这是怎么回事,我该如何解决?
我已经使用 statsmodels 函数来执行此操作。我避免了需要将数据拆分为每个组的不同数据帧的方法,因为我必须对多个变量执行此分析。还有,那些方法对我来说真的很难理解。
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 无处不在!
Multiple Comparison of Means - Tukey HSD,FWER=0.05
==============================================
group1 group2 meandiff lower upper reject
----------------------------------------------
Freshman Junior nan nan nan False
Freshman Senior nan nan nan False
Freshman Sophomore nan nan nan False
Junior Senior nan nan nan False
Junior Sophomore nan nan nan False
Senior Sophomore nan nan nan False
----------------------------------------------
有 nan 值(缺失)。我尝试了一些代码来删除缺失值。该代码看起来像
sm.stats.multicomp.pairwise_tukeyhsd('acad_se_communicate_needs','Class', alpha=0.05, 缺失 = 'drop')
但是,我收到一条错误消息 "pairwise_tukeyhsd() got an unexpected keyword argument 'missing'"。
我最终创建了一个新的数据框,过滤了仅代表两个变量的列,然后删除了缺失值。然后,我进行了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)
试试这个:
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)