我制作了一个通过s(... bs = "fs")
包中的mgcv
构建的因子平滑交互的图。但是,似乎xlim
的{{1}}和main
参数(以及一些其他参数)不能正常工作,尽管用于绘制其他类型光滑的相同参数也起作用。 / p>
以下是一个例子。
更新:我修改了示例以更好地反映我的问题(2014年12月2日)。
plot.gam()
以下代码生成对应于上述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)
项的图,限制x轴并按标题放置标题。
s(x)
但是,以下代码生成与上述plot(model, select = 1, xlim = c(0.4, 0.6), main = "Title")
项对应的绘图,不会限制x轴或生成标题。
s(x, f, bs = "fs")
我怀疑plot(model, select = 2, xlim = c(0.4, 0.6), main = "Title")
在某些情况下无法将mgcv::plot.gam()
或mgcv:::plot.fs.interaction()
的某些参数传递给mgcv:::plot.mgcv.smooth()
,但未能弄清楚它为何会发生以及如何修复它。我将不胜感激任何帮助。
答案 0 :(得分:0)
我承认这有点蛮力的方法,基本上没有“修复mgcv”,但我认为修复mgcv高于我的能力。
with(d, plot(X= seq(0,1,length=100),
gamPred.x2 = predict(model,
newdata=data.frame(x1=mean(x1),
x2=seq(0,1,length=100),
f="f5")
)))