R/spdep-tidiers.R
augment.sarlm.Rd
Augment accepts a model object and a dataset and adds
information about each observation in the dataset. Most commonly, this
includes predicted values in the .fitted
column, residuals in the
.resid
column, and standard errors for the fitted values in a .se.fit
column. New columns always begin with a .
prefix to avoid overwriting
columns in the original dataset.
Users may pass data to augment via either the data
argument or the
newdata
argument. If the user passes data to the data
argument,
it must be exactly the data that was used to fit the model
object. Pass datasets to newdata
to augment data that was not used
during model fitting. This still requires that at least all predictor
variable columns used to fit the model are present. If the original outcome
variable used to fit the model is not included in newdata
, then no
.resid
column will be included in the output.
Augment will often behave differently depending on whether data
or
newdata
is given. This is because there is often information
associated with training observations (such as influences or related)
measures that is not meaningfully defined for new observations.
For convenience, many augment methods provide default data
arguments,
so that augment(fit)
will return the augmented training data. In these
cases, augment tries to reconstruct the original data based on the model
object with varying degrees of success.
The augmented dataset is always returned as a tibble::tibble with the
same number of rows as the passed dataset. This means that the
passed data must be coercible to a tibble. At this time, tibbles do not
support matrix-columns. This means you should not specify a matrix
of covariates in a model formula during the original model fitting
process, and that splines::ns()
, stats::poly()
and
survival::Surv()
objects are not supported in input data. If you
encounter errors, try explicitly passing a tibble, or fitting the original
model on data in a tibble.
We are in the process of defining behaviors for models fit with various
na.action
arguments, but make no guarantees about behavior when data is
missing at this time.
# S3 method for sarlm
augment(x, data = x$X, ...)
An object returned from spatialreg::lagsarlm()
or spatialreg::errorsarlm()
.
Ignored, but included for internal consistency. See the details below.
Additional arguments. Not used. Needed to match generic
signature only. Cautionary note: Misspelled arguments will be
absorbed in ...
, where they will be ignored. If the misspelled
argument has a default value, the default value will be used.
For example, if you pass conf.lvel = 0.9
, all computation will
proceed using conf.level = 0.95
. Additionally, if you pass
newdata = my_tibble
to an augment()
method that does not
accept a newdata
argument, it will use the default value for
the data
argument.
The predict method for sarlm objects assumes that the response is
known. See ?predict.sarlm for more discussion. As a result, since the
original data can be recovered from the fit object, this method
currently does not take in data
or newdata
arguments.
Other spatialreg tidiers:
glance.sarlm()
,
tidy.sarlm()
A tibble::tibble()
with columns:
Fitted or predicted value.
The difference between observed and fitted values.
# feel free to ignore the following two lines—they allow {broom} to supply
# examples without requiring the model-supplying packages to be installed.
if (requireNamespace("spdep", quietly = TRUE)) {
if (requireNamespace("spatialreg", quietly = TRUE)) {
# load libraries for models and data
library(spatialreg)
library(spdep)
# load data
data(oldcol, package = "spdep")
listw <- nb2listw(COL.nb, style = "W")
# fit model
crime_sar <-
lagsarlm(CRIME ~ INC + HOVAL,
data = COL.OLD,
listw = listw,
method = "eigen")
# summarize model fit with tidiers
tidy(crime_sar)
tidy(crime_sar, conf.int = TRUE)
glance(crime_sar)
augment(crime_sar)
# fit another model
crime_sem <- errorsarlm(CRIME ~ INC + HOVAL, data = COL.OLD, listw)
# summarize model fit with tidiers
tidy(crime_sem)
tidy(crime_sem, conf.int = TRUE)
glance(crime_sem)
augment(crime_sem)
# fit another model
crime_sac <- sacsarlm(CRIME ~ INC + HOVAL, data = COL.OLD, listw)
# summarize model fit with tidiers
tidy(crime_sac)
tidy(crime_sac, conf.int = TRUE)
glance(crime_sac)
augment(crime_sac)
}
}
#> Loading required package: spData
#> To access larger datasets in this package, install the spDataLarge
#> package with: `install.packages('spDataLarge',
#> repos='https://nowosad.github.io/drat/', type='source')`
#> Loading required package: sf
#> Linking to GEOS 3.7.1, GDAL 2.2.3, PROJ 4.9.3; sf_use_s2() is TRUE
#> Loading required package: sp
#>
#> Attaching package: ‘spdep’
#> The following objects are masked from ‘package:spatialreg’:
#>
#> get.ClusterOption, get.VerboseOption, get.ZeroPolicyOption,
#> get.coresOption, get.mcOption, set.ClusterOption,
#> set.VerboseOption, set.ZeroPolicyOption, set.coresOption,
#> set.mcOption
#> # A tibble: 49 × 6
#> `(Intercept)` INC HOVAL CRIME .fitted .resid
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1 21.2 44.6 18.8 22.2 -3.37
#> 2 1 4.48 33.2 32.4 46.4 -14.0
#> 3 1 11.3 37.1 38.4 40.4 -2.00
#> 4 1 8.44 75 0.178 37.5 -37.3
#> 5 1 19.5 80.5 15.7 13.5 2.25
#> 6 1 16.0 26.4 30.6 34.4 -3.74
#> 7 1 11.3 23.2 50.7 44.1 6.60
#> 8 1 16.0 28.8 26.1 39.0 -12.9
#> 9 1 9.87 18 48.6 51.5 -2.93
#> 10 1 13.6 96.4 34.0 15.8 18.2
#> # … with 39 more rows