【发布时间】:2013-02-15 17:38:03
【问题描述】:
我使用 R 版本 2.15.1 (2012-06-22) 和 mgcv 版本 1.7-22
我在 R 中加载了以下一组包:
library(sqldf)
library(timeDate)
library(forecast)
library(xts)
library(tseries)
library(MASS)
library(mgcv)
碰巧我不能运行一个简单的模型(我省略了代码)。甚至从帮助页面中获取的示例代码:
dat = gamSim(1,n=400,dist="normal",scale=2)
b = gam(y~s(x0)+s(x1)+s(x2)+s(x3),data=dat)
给出一个错误:
Error in qr.qty(qrc, sm$S[[l]]) :
NA/NaN/Inf in foreign function call (arg 5)
In addition: Warning message:
In smoothCon(split$smooth.spec[[i]], data, knots, absorb.cons, scale.penalty = scale.penalty, :
number of items to replace is not a multiple of replacement length
请注意,如果我只是加载包 mgcv 然后立即使用示例代码,一切正常。如果我只是加载所有包并运行示例代码,它也可以工作。如果我这样做是行不通的
- 加载所有包
- 做一些文件读取、sqldf 语句、ts 操作和一些来自包预测的模型。
- 如果我再应用 GAM,它就不再起作用了。
显然一般环境中的变量定义搞乱了包的功能。
是否有任何已知问题?如果我加载各种包,是否有必须遵守的一般规则?我可以编写“扰乱”包 mgcv 的代码吗?
【问题讨论】:
-
您的步骤(2)有点模糊。您可能需要将范围缩小到触发问题的更具体的内容。
-
当我无意中使用 mgcv 加载另一个 gam 包时,我曾经收到类似的错误消息。确保它们没有同时加载
-
@Meso:你指的还有哪个 GAM 包?
-
@joran 我使用了很多命令。现在我试着不加载 tseries 和 MASS 并且到目前为止它可以工作......它只是让我害怕如果我加载错误的包或调用错误的函数它可能会崩溃。