【问题标题】:Unable to find predict in the mgcv package when using rpy2使用rpy2时无法在mgcv包中找到predict
【发布时间】:2017-02-01 20:52:38
【问题描述】:

我正在使用 rpy2 与 mgcv pkg 通信,以获得 gam 预测。

我可以通过使用 mgcv pkg 获得一个 gam fit,但是当我尝试使用 predict 方法时,它会出现错误:

NameError: name 'predict' 未定义

以下是我的代码。

import pandas as pd 
import numpy as np
from rpy2.robjects.packages import importr
import rpy2.robjects as ro
import pandas.rpy.common as com
from rpy2.robjects import pandas2ri

pandas2ri.activate()
r_mgcv = importr('mgcv')
base = importr('base')

MainDt = pd.read_csv(FileLocation, header=0)
R_MainDF = com.convert_to_r_dataframe(MainDt)

modparams = "PGOOD ~ "

for c in R_MainDF.colnames:
    if 'RAW' in str(c):
        modparams += " s (`" + c + "`) + " 

modparams = str(modparams)[:-2]
gamFit = r_mgcv.gam(ro.Formula(modparams), data=R_MainDF)

以下行错误输出:

eolPred= r_mgcv.predict(gamFit,newdata=R_MainDF, type="terms")
r_mgcv.matrix(ro.NA_Character,base.nrow(R_MainDF), base.ncol(R_MainDF)-2)

我做错了什么?

【问题讨论】:

    标签: python rpy2 predict gam mgcv


    【解决方案1】:

    正如错误所说:

    NameError: name 'predict' is not defined
    

    predict 在命名空间r_mgcv 中找不到。

    检查如何找到此处定义 R 符号的位置(在哪个包/命名空间中):

    https://rpy2.github.io/doc/v3.1.x/html/robjects_rpackages.html#finding-where-an-r-symbol-is-coming-from

    【讨论】:

      猜你喜欢
      • 2015-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-05
      • 1970-01-01
      • 2016-09-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多