首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何从gam.check中只获取地块

如何从gam.check中只获取地块
EN

Stack Overflow用户
提问于 2014-03-08 08:04:05
回答 2查看 3.3K关注 0票数 8

gam.check包中应用mgcv时,R会产生一些残差图和基尺寸输出。有没有办法只生产情节,而不是印刷输出?

代码语言:javascript
运行
AI代码解释
复制
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)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-08 08:22:13

这里有四个地块,从左上角往下移动,穿过我们有:

  1. 残差的QQ图
  2. 残差直方图
  3. 残差与线性预测器的关系图
  4. 一幅观察值与拟合值的图表。

在下面的代码中,我假设b包含您的拟合模型,如您的示例所示。首先,我们需要一些东西

代码语言:javascript
运行
AI代码解释
复制
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.predictorsy (响应数据的存储副本)的信息时。

以上代码和下面所示的代码都是在gam.check()源代码的前10行中给出的。要查看这个,只需输入

代码语言:javascript
运行
AI代码解释
复制
gam.check

在R提示符下。

每个地块的制作如下:

QQ情节

这是通过qq.gam()生产的。

代码语言:javascript
运行
AI代码解释
复制
qq.gam(b, rep = 0, level = 0.9, type = type, rl.col = 2, 
       rep.col = "gray80")

残差直方图

这是用

代码语言:javascript
运行
AI代码解释
复制
hist(resid, xlab = "Residuals", main = "Histogram of residuals")

残差与线性预测器

这是用

代码语言:javascript
运行
AI代码解释
复制
plot(linpred, resid, main = "Resids vs. linear pred.", 
     xlab = "linear predictor", ylab = "residuals")

观测值与拟合值

这是用

代码语言:javascript
运行
AI代码解释
复制
plot(fitted(b), observed.y, xlab = "Fitted Values", 
     ylab = "Response", main = "Response vs. Fitted Values")
票数 14
EN

Stack Overflow用户

发布于 2022-05-02 00:38:09

现在有两个包-- 惠给mgcViz --它们具有将gam.check输出作为ggplots生成的函数,您可以将它们存储为一个对象。前者不打印任何东西来安慰,后者则这样做。

代码语言:javascript
运行
AI代码解释
复制
require(gratia)

appraise(b)
代码语言:javascript
运行
AI代码解释
复制
require(mgcViz)

b = getViz(b)
check(b)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22275610

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文