我正在使用 rpy2 与 mgcv pkg 进行通信,以获得 gam 预测。
我可以通过使用 mgcv pkg 来获得 gam fit,但是当我尝试使用 predict 方法时,它会因错误而出错:
NameError:名称“预测”未定义
以下是我的代码。
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)
我究竟做错了什么 ?