plot_partialAPCeffects {APCtools} | R Documentation |
Partial APC plots based on an estimated GAM model
Description
Create the partial APC plots based on an APC model estimated as a semiparametric
additive regression model with gam
or bam
.
Usage
plot_partialAPCeffects(
model,
dat,
variable = "age",
hide_partialEffects = FALSE,
vlines_vec = NULL,
return_plotData = FALSE
)
Arguments
model |
Optional regression model estimated with |
dat |
Dataset with columns |
variable |
One of |
hide_partialEffects |
If TRUE, only the marginal effect will be plotted. Defaults to FALSE. |
vlines_vec |
Optional numeric vector of values on the x-axis where vertical lines should be drawn. Can be used to highlight the borders of specific age groups, time intervals or cohorts. |
return_plotData |
If TRUE, a list of the datasets prepared for plotting
is returned instead of the ggplot object. The list contains one dataset each
for the overall effect (= evaluations of the APC surface to plot the partial
effects) and for each marginal APC effect (no matter the specified value of
the argument |
Details
If the model was estimated with a log or logit link, the function automatically performs an exponential transformation of the effect.
Value
ggplot object (if hide_partialEffects
is TRUE) or a plot grid
created with ggarrange
(if FALSE).
Author(s)
Alexander Bauer alexander.bauer@stat.uni-muenchen.de, Maximilian Weigert maximilian.weigert@stat.uni-muenchen.de
References
Weigert, M., Bauer, A., Gernert, J., Karl, M., Nalmpatian, A., Küchenhoff, H., and Schmude, J. (2021). Semiparametric APC analysis of destination choice patterns: Using generalized additive models to quantify the impact of age, period, and cohort on travel distances. Tourism Economics. doi:10.1177/1354816620987198.
Examples
library(APCtools)
library(mgcv)
data(travel)
model <- gam(mainTrip_distance ~ te(age, period), data = travel)
plot_partialAPCeffects(model, dat = travel, variable = "age")
# mark specific cohorts
plot_partialAPCeffects(model, dat = travel, variable = "cohort",
vlines_vec = c(1966.5,1982.5,1994.5))