mgcv:gam
mgcv:interpret.gam
失敗した場所である呼び出し。
interpret.gam
「s」を含む特別な関数の式を解析し、式s(x)
の環境で評価するようです。つまり、呼び出し元からの現在の「s」が何であれ、それを見つけることができます。gam
これは、気に入らないものを返すものである可能性があります。
次のように修正することはできません。
> gam(y ~ mgcv::s(x))
Error in model.frame.default(formula = y ~ mgcv::s(x), drop.unused.levels = TRUE) :
invalid type (list) for variable 'mgcv::s(x)'
> gam(y ~ mgcv:::s(x))
Error in model.frame.default(formula = y ~ mgcv:::s(x), drop.unused.levels = TRUE) :
invalid type (list) for variable 'mgcv:::s(x)'
しかし、あなたはこれを好きにすることができます:
> s=mgcv:::s
> gam(y ~ s(x))
Family: gaussian
Link function: identity
Formula:
y ~ s(x)
Estimated degrees of freedom:
1 total = 2
GCV score: 0.9486058
したがって、どちらのパッケージでもエラーではありません。あなたは で gam を要求しましたが、たまたま現在、 はそのニーズに適合しないとs(x)
定義されていました。そこに古い機能をプラグインすることはできません。s(x)
gam