小编Man*_*kel的帖子

为什么在“ gam(y〜mgcv :: s ...)”中使用“ mgcv :: s”会导致错误?

我想保持清楚,并::在各行中使用符号来拟合mgcv::gam。在模型调用中使用符号时,我偶然发现了一件事情mgcv::s。带有可复制示例/错误的代码如下所示。

原因可能是因为我在模型公式中使用了这种表示法,但是我无法弄清楚为什么它不起作用/不允许这样做。这可能是关于语法的非常具体的东西(我想可能不是特定于mgcv的东西),但是也许有人可以帮助我理解这一点以及我对R的理解。预先感谢您。

library(mgcv)
dat <- data.frame(x = 1:10, y = 101:110)
# this results in an error: invalid type (list)...
mgcv::gam(y ~ mgcv::s(x, bs = "cs", k = -1), data = dat)
# after removing the mgcv:: in front of s everything works fine
mgcv::gam(y ~ s(x, bs = "cs", k = -1), data = dat)

# outside of the model call, both calls return the desired function
class(s)
# [1] "function"
class(mgcv::s)
# …
Run Code Online (Sandbox Code Playgroud)

syntax r mgcv

5
推荐指数
1
解决办法
551
查看次数

标签 统计

mgcv ×1

r ×1

syntax ×1