Augment data with information from fitted model objects
Augment data with information from fitted model objects
Augment accepts a fitted model object and a data set and adds information about each observation in the data set. New columns always begin with a . prefix to avoid overwriting columns in the original data set.
Augment behaves differently depending on whether the original data or new data requires augmenting. Typically, when augmenting the original data, only the fitted model object is specified, and when augmenting new data, the fitted model object and newdata is specified. When augmenting the original data, diagnostic statistics are augmented to each row in the data set. When augmenting new data, predictions and optional intervals or standard errors are augmented to each row in the new data set.
## S3 method for class 'splm'augment( x, drop =TRUE, newdata =NULL, se_fit =FALSE, interval = c("none","confidence","prediction"), level =0.95, local,...)## S3 method for class 'spautor'augment( x, drop =TRUE, newdata =NULL, se_fit =FALSE, interval = c("none","confidence","prediction"), level =0.95, local,...)## S3 method for class 'spglm'augment( x, drop =TRUE, newdata =NULL, type.predict = c("link","response"), type.residuals = c("deviance","pearson","response"), se_fit =FALSE, interval = c("none","confidence","prediction"), newdata_size, level =0.95, local = local, var_correct =TRUE,...)## S3 method for class 'spgautor'augment( x, drop =TRUE, newdata =NULL, type.predict = c("link","response"), type.residuals = c("deviance","pearson","response"), se_fit =FALSE, interval = c("none","confidence","prediction"), newdata_size, level =0.95, local, var_correct =TRUE,...)
Arguments
x: A fitted model object from splm() or spautor().
drop: A logical indicating whether to drop extra variables in the fitted model object x when augmenting. The default for drop is TRUE. drop is ignored if augmenting newdata.
newdata: A data frame or tibble containing observations requiring prediction. All of the original explanatory variables used to create the fitted model object x
must be present in newdata. Defaults to NULL, which indicates that nothing has been passed to newdata.
se_fit: Logical indicating whether or not a .se.fit column should be added to augmented output. Passed to predict() and defaults to FALSE.
interval: Character indicating the type of confidence interval columns to add to the augmented newdata output. Passed to predict() and defaults to "none".
level: Tolerance/confidence level. The default is 0.95.
local: A list or logical. If a list, specific list elements described in predict.spmodel() control the big data approximation behavior. If a logical, TRUE chooses default list elements for the list version of local as specified in predict.spmodel(). Defaults to FALSE, which performs exact computations.
...: Other arguments. Not used (needed for generic consistency).
type.predict: The scale (response or link) of fitted values and predictions obtained using spglm() or spgautor objects.
type.residuals: The residual type (deviance, pearson, or response) of fitted models from spglm() or spgautor objects. Ignored if newdata is specified.
newdata_size: The size value for each observation in newdata
used when predicting for the binomial family.
var_correct: A logical indicating whether to return the corrected prediction variances when predicting via models fit using spglm() or spgautor(). The default is TRUE.
Returns
When augmenting the original data set, a tibble with additional columns
.fitted Fitted value
.resid Response residual (the difference between observed and fitted values)
.hat Leverage (diagonal of the hat matrix)
.cooksd Cook's distance
.std.resid Standardized residuals
.se.fit Standard error of the fitted value.
When augmenting a new data set, a tibble with additional columns
.fitted Predicted (or fitted) value
.lower Lower bound on interval
.upper Upper bound on interval
.se.fit Standard error of the predicted (or fitted) value
Details
augment() returns a tibble with the same class as data. That is, if data is an sf object, then the augmented object (obtained via augment(x)) will be an sf object as well. When augmenting newdata, the augmented object has the same class as data.
Missing response values from the original data can be augmented as if they were a newdata object by providing x$newdata to the newdata argument (where x is the name of the fitted model object). This is the only way to compute predictions for spautor() and spgautor() fitted model objects.
Examples
spmod <- splm(z ~ water + tarp, data = caribou, spcov_type ="exponential", xcoord = x, ycoord = y
)augment(spmod)spmod_sulf <- splm(sulfate ~1, data = sulfate, spcov_type ="exponential")augment(spmod_sulf)augment(spmod_sulf, newdata = sulfate_preds)# missingness in original dataspmod_seal <- spautor(log_trend ~1, data = seal, spcov_type ="car")augment(spmod_seal)augment(spmod_seal, newdata = spmod_seal$newdata)