Augment 接受模型对象和数据集,并添加有关数据集中每个观察值的信息。最常见的是,这包括 .fitted
列中的预测值、.resid
列中的残差以及 .se.fit
列中拟合值的标准误差。新列始终以 .
前缀开头,以避免覆盖原始数据集中的列。
用户可以通过 data
参数或 newdata
参数传递数据以进行增强。如果用户将数据传递给 data
参数,则它必须正是用于拟合模型对象的数据。将数据集传递给 newdata
以扩充模型拟合期间未使用的数据。这仍然要求至少存在用于拟合模型的所有预测变量列。如果用于拟合模型的原始结果变量未包含在 newdata
中,则输出中不会包含 .resid
列。
根据是否给出 data
或 newdata
,增强的行为通常会有所不同。这是因为通常存在与训练观察(例如影响或相关)测量相关的信息,而这些信息对于新观察没有有意义的定义。
为了方便起见,许多增强方法提供默认的 data
参数,以便 augment(fit)
将返回增强的训练数据。在这些情况下,augment 尝试根据模型对象重建原始数据,并取得了不同程度的成功。
增强数据集始终以 tibble::tibble 形式返回,其行数与传递的数据集相同。这意味着传递的数据必须可强制转换为 tibble。如果预测变量将模型作为协变量矩阵的一部分输入,例如当模型公式使用 splines::ns()
、 stats::poly()
或 survival::Surv()
时,它会表示为矩阵列。
我们正在定义适合各种 na.action
参数的模型的行为,但目前不保证数据丢失时的行为。
用法
# S3 method for gam
augment(
x,
data = model.frame(x),
newdata = NULL,
type.predict,
type.residuals,
...
)
参数
- x
-
从调用
mgcv::gam()
返回的gam
对象。 - data
-
base::data.frame 或
tibble::tibble()
包含用于生成对象x
的原始数据。默认为stats::model.frame(x)
,以便augment(my_fit)
返回增强的原始数据。不要将新数据传递给data
参数。增强将报告传递给data
参数的数据的影响和烹饪距离等信息。这些度量仅针对原始训练数据定义。 - newdata
-
base::data.frame()
或tibble::tibble()
包含用于创建x
的所有原始预测变量。默认为NULL
,表示没有任何内容传递给newdata
。如果指定了newdata
,则data
参数将被忽略。 - type.predict
-
指示要使用的预测类型的字符。传递给
stats::predict()
泛型的type
参数。允许的参数因模型类而异,因此请务必阅读predict.my_class
文档。 - type.residuals
-
指示要使用的残差类型的字符。传递给
stats::residuals()
泛型的type
参数。允许的参数因模型类而异,因此请务必阅读residuals.my_class
文档。 - ...
-
附加参数。不曾用过。仅需要匹配通用签名。注意:拼写错误的参数将被吸收到
...
中,并被忽略。如果拼写错误的参数有默认值,则将使用默认值。例如,如果您传递conf.lvel = 0.9
,所有计算将使用conf.level = 0.95
进行。这里有两个异常:
细节
有关库克距离的更多详细信息,请参阅 stats::cooks.distance()
。
值
带有列的 tibble::tibble()
:
- .cooksd
-
厨师距离。
- .fitted
-
拟合值或预测值。
- .hat
-
帽子矩阵的对角线。
- .resid
-
观察值和拟合值之间的差异。
- .se.fit
-
拟合值的标准误差。
- .sigma
-
从模型中删除相应观测值时的估计残差标准差。
例子
# load libraries for models and data
library(mgcv)
#> Loading required package: nlme
#>
#> Attaching package: ‘nlme’
#> The following object is masked from ‘package:dplyr’:
#>
#> collapse
#> This is mgcv 1.8-42. For overview type 'help("mgcv-package")'.
#>
#> Attaching package: ‘mgcv’
#> The following object is masked from ‘package:mclust’:
#>
#> mvn
# fit model
g <- gam(mpg ~ s(hp) + am + qsec, data = mtcars)
# summarize model fit with tidiers
tidy(g)
#> # A tibble: 1 × 5
#> term edf ref.df statistic p.value
#> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 s(hp) 2.36 3.02 6.34 0.00218
tidy(g, parametric = TRUE)
#> # A tibble: 3 × 5
#> term estimate std.error statistic p.value
#> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 (Intercept) 16.7 9.83 1.70 0.101
#> 2 am 4.37 1.56 2.81 0.00918
#> 3 qsec 0.0904 0.525 0.172 0.865
glance(g)
#> # A tibble: 1 × 7
#> df logLik AIC BIC deviance df.residual nobs
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <int>
#> 1 5.36 -74.4 162. 171. 196. 26.6 32
augment(g)
#> # A tibble: 32 × 11
#> .rownames mpg am qsec hp .fitted .se.fit .resid .hat .sigma
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <lgl>
#> 1 Mazda RX4 21 1 16.5 110 24.3 1.03 -3.25 0.145 NA
#> 2 Mazda RX4… 21 1 17.0 110 24.3 0.925 -3.30 0.116 NA
#> 3 Datsun 710 22.8 1 18.6 93 26.0 0.894 -3.22 0.109 NA
#> 4 Hornet 4 … 21.4 0 19.4 110 20.2 0.827 1.25 0.0930 NA
#> 5 Hornet Sp… 18.7 0 17.0 175 15.7 0.815 3.02 0.0902 NA
#> 6 Valiant 18.1 0 20.2 105 20.7 0.914 -2.56 0.113 NA
#> 7 Duster 360 14.3 0 15.8 245 12.7 1.11 1.63 0.167 NA
#> 8 Merc 240D 24.4 0 20 62 25.0 1.45 -0.618 0.287 NA
#> 9 Merc 230 22.8 0 22.9 95 21.8 1.81 0.959 0.446 NA
#> 10 Merc 280 19.2 0 18.3 123 19.0 0.864 0.211 0.102 NA
#> # ℹ 22 more rows
#> # ℹ 1 more variable: .cooksd <dbl>
相关用法
- R broom augment.betamfx 使用来自 betamfx 对象的信息增强数据
- R broom augment.robustbase.glmrob 使用来自 glmrob 对象的信息增强数据
- R broom augment.rlm 使用来自 rlm 对象的信息增强数据
- R broom augment.htest 使用来自(n)个 htest 对象的信息来增强数据
- R broom augment.clm 使用来自 clm 对象的信息增强数据
- R broom augment.speedlm 使用来自 speedlm 对象的信息增强数据
- R broom augment.felm 使用来自 (n) 个 felm 对象的信息来增强数据
- R broom augment.smooth.spline 整理一个(n)smooth.spline对象
- R broom augment.drc 使用来自 a(n) drc 对象的信息增强数据
- R broom augment.decomposed.ts 使用来自 decomposed.ts 对象的信息增强数据
- R broom augment.poLCA 使用来自 poLCA 对象的信息增强数据
- R broom augment.lm 使用来自 (n) lm 对象的信息增强数据
- R broom augment.rqs 使用来自 (n) 个 rqs 对象的信息来增强数据
- R broom augment.polr 使用来自 (n) 个 polr 对象的信息增强数据
- R broom augment.plm 使用来自 plm 对象的信息增强数据
- R broom augment.nls 使用来自 nls 对象的信息增强数据
- R broom augment.fixest 使用来自(n)个最固定对象的信息来增强数据
- R broom augment.survreg 使用来自 survreg 对象的信息增强数据
- R broom augment.rq 使用来自 a(n) rq 对象的信息增强数据
- R broom augment.Mclust 使用来自 Mclust 对象的信息增强数据
- R broom augment.nlrq 整理 a(n) nlrq 对象
- R broom augment.robustbase.lmrob 使用来自 lmrob 对象的信息增强数据
- R broom augment.lmRob 使用来自 lmRob 对象的信息增强数据
- R broom augment.mlogit 使用来自 mlogit 对象的信息增强数据
- R broom augment.betareg 使用来自 betareg 对象的信息增强数据
注:本文由纯净天空筛选整理自等大神的英文原创作品 Augment data with information from a(n) gam object。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。