acf_resid {itsadug} | R Documentation |
Generate an ACF plot of model residuals. Works for lm, lmer, gam, bam, ....
Description
Wrapper around acf_plot
and
acf_n_plots
for regression models.
Usage
acf_resid(
model,
split_pred = NULL,
n = 1,
plot = TRUE,
check.rho = NULL,
main = NULL,
...
)
Arguments
model |
A regression model generated by |
split_pred |
Vector with names of model predictors that determine
the time series in the data, or should be used to split the ACF plot by.
Alternatively, |
n |
The number of plots to generate. If |
plot |
Logical: whether or not to produce plot. Default is TRUE. |
check.rho |
Numeric value: Generally leave at NULL. This value does not change anything, but it is used to check whether the model's AR1 coefficient matches the expected value of rho. |
main |
Text string, title of plot. |
... |
Other arguments as input for |
Value
An aggregated ACF plot and / or optionally a list with the aggregated ACF values.
Author(s)
Jacolien van Rij
See Also
Use acf
for the original ACF function,
and acf_plot
, or acf_n_plots
.
Other functions for model criticism:
acf_n_plots()
,
acf_plot()
,
derive_timeseries()
,
resid_gam()
,
start_event()
,
start_value_rho()
Examples
data(simdat)
# add missing values to simdat:
simdat[sample(nrow(simdat), 15),]$Y <- NA
## Not run:
# Run GAMM model:
m1 <- bam(Y ~ te(Time, Trial)+s(Subject, bs='re'), data=simdat)
# Using a list to split the data:
acf_resid(m1, split_pred=list(simdat$Subject, simdat$Trial))
# ...or using model predictors:
acf_resid(m1, split_pred=c('Subject', 'Trial'))
# Calling acf_n_plots:
acf_resid(m1, split_pred=c('Subject', 'Trial'), n=4)
# add some arguments:
acf_resid(m1, split_pred=c('Subject', 'Trial'), n=4, max_lag=10)
# This does not work...
m2 <- lm(Y ~ Time, data=simdat)
acf_resid(m2, split_pred=c('Subject', 'Trial'))
# ... but this is ok:
acf_resid(m2, split_pred=list(simdat$Subject, simdat$Trial))
# Using AR.start column:
simdat <- start_event(simdat, event=c('Subject', 'Trial'))
r1 <- start_value_rho(m1)
m3 <- bam(Y ~ te(Time, Trial)+s(Subject, bs='re'), data=simdat,
rho=r1, AR.start=simdat$start.event)
acf_resid(m3, split_pred='AR.start')
# this is the same:
acf_resid(m3, split_pred=c('Subject', 'Trial'))
# Note: use model comparison to find better value for rho
## End(Not run)
# see the vignette for examples:
vignette('acf', package='itsadug')