猿问

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

我在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的新手,所以我不确定这是怎么回事!任何想法将不胜感激。


慕神8447489
浏览 235回答 1
1回答

呼啦一阵风

调用时importr('nlme'),返回的对象就像一个Python包/命名空间。如果corAR1()在nlme包中定义了if,则应该告诉Python它在那里:fit = nlme.gls(fmla, cor=nlme.corAR1(value=c(0.5)))
随时随地看视频慕课网APP

相关分类

Python
我要回答