rpy2广义最小二乘模型gls中的相关结构corAR1()“未定义”

时间:2013-06-27 01:58:53

标签: python rpy2

我在python中使用rpy2模块来计算两个时间序列(ts1和ts2)之间的回归。残差是自相关的,所以我需要使用gls模型而不是lm。我应该能够将我的相关结构设置为corAR1(),如下面的代码所示。

import rpy2.robjects as robjects
from rpy2.robjects import FloatVector
from rpy2.robjects.packages import importr

nlme = importr('nlme')

y = FloatVector(ts1)
x = FloatVector(ts2)
fmla = robjects.Formula('y ~ x - 1')
env = fmla.environment
env['x'] = x
env['y'] = y
fit = nlme.gls(fmla, cor=corAR1(value=c(0.5)))  

然而,我收到错误

*** NameError: name 'corAR1' is not defined                                                                                                      

由于我不是R用户并且对rpy2不熟悉,我不确定这里发生了什么!任何想法都会非常感激。

干杯, 幸福

1 个答案:

答案 0 :(得分:0)

调用importr('nlme')时,返回的对象就像一个Python包/命名空间。 如果在corAR1()包中定义nlme,您应该告诉Python它在那里:

fit = nlme.gls(fmla, cor=nlme.corAR1(value=c(0.5)))