0

パッケージs(... bs = "fs")内で構築された因子平滑相互作用のプロットを作成しました。mgcvただし、xlimとのmain引数 (および他のいくつかの引数) はplot.gam()適切に機能していないように見えますが、他の種類のスムーズをプロットするための同じ引数が機能します。

これが例です。

更新: 私が抱えている問題をよりよく反映するように例を修正しました (2014 年 12 月 2 日)。

library(mgcv)

# create toy data
set.seed(1)
d <- data.frame(
 x = runif(10 * 100),
 f = rep(paste0("f", 1:10), each = 100)
)
d$y <- 2 * d$x + 10 + rnorm(10 * 100)

# build a model
model <- gam(y ~ s(x) + s(x, f, bs = "fs"), data = d)

上記の用語に対応するプロットを生成する次のコードは、s(x)意図したとおりに x 軸を制限し、タイトルを配置します。

plot(model, select = 1, xlim = c(0.4, 0.6), main = "Title")

ただし、上記の用語に対応するプロットを生成する次のコードはs(x, f, bs = "fs")、x 軸を制限したり、タイトルを生成したりしません。

plot(model, select = 2, xlim = c(0.4, 0.6), main = "Title")

mgcv::plot.gam()引数 (の一部) をmgcv:::plot.fs.interaction()または場合によっては渡すことができないと思われますmgcv:::plot.mgcv.smooth()が、それが発生する理由と修正方法を理解できていません。助けていただければ幸いです。

4

1 に答える 1