【问题标题】:invalid model formula in ExtractVars with gam s() wrapper带有 gam s() 包装器的 ExtractVars 中的无效模型公式
【发布时间】:2018-05-22 13:26:51
【问题描述】:

我想做的很简单。试图拟合一个 gam 模型,我可以在其中决定 smoomthing 样条的 df(公式部分中的 's' 函数)。调用 gam 模型应该返回拟合,但它会给出错误。我在这里做错了什么?

    library(mgcv)
    library(gam)
    set.seed(2) ## simulate some data... 
    dat <- gamSim(1,n=400,dist="normal",scale=2)
    b <- gam(y~s(x0,df = 5)+s(x1)+s(x2)+s(x3),data=dat)

【问题讨论】:

  • 不要同时加载 gammgcv 包。如果你想使用mgcv::gamSim() 但用gam::gam() 估计模型,然后调用mgcv::gamSim() 但不要加载包(没有library("mgcv") 调用)。我知道如果加载了 mgcv,开发人员已经做了一些事情来使 gam 工作得更好,但是避免任何问题并且只在任何一个会话中加载一个包会更简单.
  • 是的,我注意到了..谢谢

标签: r gam mgcv


【解决方案1】:

显然与 mcgv 包和“gam”版本有关。使用 gam '1.14' 而不是使用 mcgv 有效。示例:

    library(ISLR)
    attach(Wage)
    library(gam)
    fit = gam(wage ~ s(year, 4) + s(age, 5) +   education, data = Wage)
    plot(fit)
    summary(fit)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多