R GAM()错误:未使用的参数(bs=";ps";,k=8)?
加载mgcv并运行以下模型后-返回以下错误。。此代码在以前(即昨天)有效。在此方面的任何帮助都将不胜感激R GAM()错误:未使用的参数(bs=";ps";,k=8)?,r,R,加载mgcv并运行以下模型后-返回以下错误。。此代码在以前(即昨天)有效。在此方面的任何帮助都将不胜感激 > aa1<-gam(Bin~s(Mud,bs="ps",k=8),family=binomial, gamma=1,data=Abaren) Error in s(Mud, bs = "ps", k = 8) : unused argument(s) (bs = "ps", k = 8) >aa1您是否使用了错误的软件包?mgcv和gam包都具有函数s(),但只有前者采用b
> aa1<-gam(Bin~s(Mud,bs="ps",k=8),family=binomial, gamma=1,data=Abaren)
Error in s(Mud, bs = "ps", k = 8) : unused argument(s) (bs = "ps", k = 8)
>aa1您是否使用了错误的软件包?mgcv和gam包都具有函数s()
,但只有前者采用bs
和k
参数来影响基函数
例如,我可以使用gam::gam()
:
但不适用于mgcv包和mgcv::gam()
:
>需要(mgcv)
>要求(“mgcv”)
>种子(2)##模拟一些数据。。。
>dat b关于我在第一个下面发布的第二个错误有什么想法吗?查看xmin
和xmax
以查看是否有任何奇数值或NA
s。是的,谢谢,NA.rm=TRUE
在每个xmin和xmax行中都修复了它。@user2673404很好,虽然我会有点担心你现在得到了NA
,而你以前没有。确保您检查了为什么会发生这种情况,并了解这些情况的来源。可能是一个问题,也可能只是一个新的恶意数据点。我不知道为什么你会感到惊讶,如果你不让你的代码可复制(以至于你不知道你在使用哪个软件包!)。你怎么知道这以前真的有效并且不依赖于某些当地条件?我感谢你的帮助Gavin-我在我最初的问题开始时说:“在加载mgcv并运行下面的模型之后”。。尽管如此,我试图用最少的R编码专业知识(显然)在严重的时间限制下回答我的研究生论文中的一个问题,因此非常感谢您的帮助。我知道它以前真的很有效,因为它在不同的场合为许多物种制作了模型——这是否满足代码的可复制性?
## UQ Abundance only data (i.e. positive values only)
aa2<-gam(UQdata~s(MudUQ,bs="ps", k=15) ,family=Gamma(link=log),data=Antho)
xmin <- ceiling(min(Antho$MudUQ[Antho$Bin==1]))
xmax <- floor(max(Antho$MudUQ[Antho$Bin==1]))
Mudnew <- seq(from=xmin, to=xmax, by=0.1)
**Error in if (del == 0 && to == 0) return(to) :
missing value where TRUE/FALSE needed**
pred.dat <- data.frame(Mudnew)
names(pred.dat) <- "MudUQ"
pred.aa2 <- data.frame(predict.gam(aa2, pred.dat, se.fit=TRUE, type="response"))
pred.aa2.comb <- data.frame(pred.dat, pred.aa2)
names(pred.aa2.comb)
plot(fit ~ MudUQ, data=pred.aa2.comb, type="l", lwd=2, col=1,
lab="Density per 0.0132 m2", xlab="Mud content (%)")
> require("gam")
> data(kyphosis)
> gam(Kyphosis ~ s(Age, k = 4, bs = "ps") + Number, family = binomial,
+ data=kyphosis, trace = TRUE)
Error in s(Age, k = 4, bs = "ps") : unused arguments (k = 4, bs = "ps")
> gam(Kyphosis ~ s(Age) + Number, family = binomial, data=kyphosis, trace = TRUE)
GAM s.wam loop 1: deviance = 66.42095
GAM s.wam loop 2: deviance = 63.77252
GAM s.wam loop 3: deviance = 63.25199
GAM s.wam loop 4: deviance = 63.13399
GAM s.wam loop 5: deviance = 63.11016
GAM s.wam loop 6: deviance = 63.10748
GAM s.wam loop 7: deviance = 63.10727
GAM s.wam loop 8: deviance = 63.10725
GAM s.wam loop 9: deviance = 63.10725
Call:
gam(formula = Kyphosis ~ s(Age) + Number, family = binomial,
data = kyphosis, trace = TRUE)
Degrees of Freedom: 80 total; 75.00002 Residual
Residual Deviance: 63.10725
> require(mgcv)
> require("mgcv")
> set.seed(2) ## simulate some data...
> dat <- gamSim(1,n=400,dist="normal",scale=2)
Gu & Wahba 4 term additive model
> b <- gam(y ~ s(x0, k = 5, bs = "ps") + s(x1) + s(x2) + s(x3), data=dat)
Loading required package: splines