AttributeError:模块'statsmodels.sandbox'没有属性'stats'

时间:2017-11-10 07:04:38

标签: python numpy scipy statsmodels rpy2

Statsmodels似乎是python的唯一库(除rpy2之外)提供FDR-based BH adjustment for p-values,但它似乎不再包括在内:

statsmodels.sandbox.stats.multicomp.fdrcorrection0()

AttributeError: module 'statsmodels.sandbox' has no attribute 'stats'

此模块是否已从0.6.1中删除? Besides using rpy2,还有其他广泛使用的FDR p值调整实现吗?

2 个答案:

答案 0 :(得分:2)

相关代码已移出沙箱,现在位于statsmodels.stats.multitest 沙箱功能只是非沙箱功能的别名。在线文档目前有点过时了。

直接导入

>>> from statsmodels.stats.multitest import fdrcorrection
>>> fdrcorrection
<function fdrcorrection at 0x0000000008554B70>

通过api

使用它
>>> import statsmodels.api as sm
>>> sm.stats.fdrcorrection
<function fdrcorrection at 0x0000000008554B70>

这是旧位置,目前仍包含别名

>>> from statsmodels.sandbox.stats.multicomp import fdrcorrection0
>>> fdrcorrection0
<function fdrcorrection at 0x0000000008554B70>

statsmodels.stats.multitest中编辑的功能列表:

>>> import statsmodels.stats.multitest as multi
>>> dir(multi) # output edited
['NullDistribution', 'fdrcorrection', 'fdrcorrection_twostage', 'local_fdr', 'multipletests']

答案 1 :(得分:1)

它仍然存在于0.8.0版本中:

import statsmodels
print(statsmodels.__version__)  
# 0.8.0rc1

from statsmodels.sandbox.stats.multicomp import fdrcorrection0
print(fdrcorrection0)
# <function fdrcorrection at 0x0E5A3E88>

您可能没有导入子模块statsmultipcomp