Learn R Programming

itsadug (version 0.8)

acf_resid: 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, n = 1, ...)

Arguments

model
A regression model generated by lm, glm, lmer, glmer, gam, or bam. (See examples for how to avoid errors
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, split_pred can be a names list as being used by acf_plot
n
The number of plots to generate. If n=1 (default) then acf_plot is being called. If n>1 then acf_n_plots is being called.
...
Other arguments for plotting, see acf_plot or acf_n_plots.

Value

  • An aggregated ACF plot and / or optionally a list with the aggregated ACF values.

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; check_normaldist; resid.gam, resid_gam

Examples

Run this code
data(simdat)

# add missing values to simdat:
simdat[sample(nrow(simdat), 15),]$Y <- NA

# Run GAMM model:
m1 <- bam(Y ~ te(Time, Trial)+s(Subject, bs='re'), data=simdat)

# This will generate an error (see examples in acf_plot):
acf_resid(m1, split_pred=list(simdat$Subject, simdat$Trial))
# However, this will work:
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"))
# ... and this also doesn't work (because of the NA's)
acf_resid(m2, split_pred=list(simdat$Subject, simdat$Trial))
# ... but this is ok:
el.na <- missing_est(m2)
acf_resid(m2, split_pred=list(simdat$Subject[-el.na], simdat$Trial[-el.na]))

# See acf_plot for how to deal wit missing data
# see also the vignette for an example:
vignette(topic="plotfunctions", package="itsadug")

Run the code above in your browser using DataLab