The package ** itsadug** (http://github.com/vr-vr/itsadug) includes several plot functions to visualize the estimates of Generalized Additive (Mixed) Models (GAMM) implemented using the package

`mgcv`

the available plot functions in the packages

`mgcv`

and`itsadug`

;the functions to retrieve predicted values from a GAMM, and how these could be used to create custom plots;

the plot functions for inspection of the residuals.

The code below was used to fit a GAMM model `m1`

to the data set `simdat`

from the package `itsadug`

. The data set `simdat`

is simulated time series data with arbitrary predictors. We use the interaction between the predictors *Time* and *Trial* to illustrate the various functions that are available for visualizing nonlinear interactions.

`library(itsadug)`

```
## Loading required package: mgcv
## Loading required package: nlme
## This is mgcv 1.8-3. For overview type 'help("mgcv-package")'.
## Loaded package itsadug 0.8 (see 'help("itsadug")' ).
```

```
data(simdat)
# For illustration purposes, we build a GAMM model
# with a nonlinear interaction, two groups, and
# random wiggly smooths for Subjects:
m1 <- bam(Y ~ Group + te(Time, Trial, by=Group)
+ s(Time, Subject, bs='fs', m=1),
data=simdat)
```

The function ** gamtabs** converts the summary quickly in a Latex table or in a HTML table (specify

`type="html"`

), which could be included in a `knitr`

file.`gamtabs(m1, caption="Summaty of m1", comment=FALSE, type='html')`

A. parametric coefficients | Estimate | Std. Error | t-value | p-value |

(Intercept) | 1.7930 | 0.6466 | 2.7730 | 0.0056 |

GroupAdults | 2.4421 | 0.9197 | 2.6552 | 0.0079 |

B. smooth terms | edf | Ref.df | F-value | p-value |

te(Time,Trial):GroupChildren | 23.0273 | 23.1209 | 1579.9964 | < 0.0001 |

te(Time,Trial):GroupAdults | 23.3166 | 23.3935 | 1302.5649 | < 0.0001 |

s(Time,Subject) | 317.5683 | 322.0000 | 3291.1419 | < 0.0001 |

The default way to plot interactions is to use `mgcv`

â€™s ** plot.gam**. This function visualizes the partial effects, see Figure 1.

```
par(mfrow=c(1,2))
plot(m1, select=1, rug=FALSE,
main='Group=Children', cex.axis=1.5, cex.lab=1.5)
plot(m1, select=2, rug=FALSE,
main='Group=Adults', cex.axis=1.5, cex.lab=1.5)
```

Advantage and disadvantages of ** plot.gam**:

Confidence bands are plotted, which are useful for seeing whether effects are significant.

Without colored background the contour plots are difficult to read. It is possible to plot a colored background using the argument

`scheme=2`

, but only`heat.colors`

are possible.The use of

`plot.gam`

is limited to interactions with two (or less) continuous variables.

Alternatively one could use the function ** pvisgam** from the package

`itsadug`

to visualize the partial effects. The function plots exactly the same surfaces as `plot.gam`

, but visualizes the surface slightly different.```
par(mfrow=c(1,2))
# Note: specify zlim when comparing two plots
pvisgam(m1, view=c("Time", "Trial"), select=1,
main='Group=Children', labcex=.8,
zlim=c(-15,15), print.summary=FALSE)
pvisgam(m1, view=c("Time", "Trial"), select=2,
main='Group=Adults', labcex=.8,
zlim=c(-15,15), print.summary=FALSE)
```