パッケージで適用する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)
左上から下へ、横へ移動する 4 つのプロットがあります。
以下のコードでは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)
最後の 2 行は、モデルがおよびNA
の情報に適合されたときに使用された処理方法を適用していることに注意してください。これは、応答データの保存されたコピーです。linear.predictors
y
上記のコードと以下に示すコードはすべて、gam.check()
ソースの最初の 10 行程度に示されています。これを表示するには、入力するだけです
gam.check
R プロンプトで。
各プロットは次のように生成されます。
これは次の方法で生成され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")