在gam.check
包中应用mgcv
时,R
会产生一些残差图和基尺寸输出。有没有办法只生产情节,而不是印刷输出?
library(mgcv)
set.seed(0)
dat <- gamSim(1,n=200)
b <- gam(y~s(x0)+s(x1)+s(x2)+s(x3), data=dat)
plot(b, pages=1)
gam.check(b, pch=19, cex=.3)
发布于 2014-03-08 08:22:13
这里有四个地块,从左上角往下移动,穿过我们有:
在下面的代码中,我假设b
包含您的拟合模型,如您的示例所示。首先,我们需要一些东西
type <- "deviance" ## "pearson" & "response" are other valid choices
resid <- residuals(b, type = type)
linpred <- napredict(b$na.action, b$linear.predictors)
observed.y <- napredict(b$na.action, b$y)
注意,最后两行是应用NA
处理方法,当模型被拟合到linear.predictors
和y
(响应数据的存储副本)的信息时。
以上代码和下面所示的代码都是在gam.check()
源代码的前10行中给出的。要查看这个,只需输入
gam.check
在R提示符下。
每个地块的制作如下:
QQ情节
这是通过qq.gam()
生产的。
qq.gam(b, rep = 0, level = 0.9, type = type, rl.col = 2,
rep.col = "gray80")
残差直方图
这是用
hist(resid, xlab = "Residuals", main = "Histogram of residuals")
残差与线性预测器
这是用
plot(linpred, resid, main = "Resids vs. linear pred.",
xlab = "linear predictor", ylab = "residuals")
观测值与拟合值
这是用
plot(fitted(b), observed.y, xlab = "Fitted Values",
ylab = "Response", main = "Response vs. Fitted Values")
https://stackoverflow.com/questions/22275610
复制相似问题