plot_smooth | R Documentation |

Plots a smooth from a `gam`

or
`bam`

model based on predictions.
In contrast with the default `plot.gam`

, this function
plots the summed effects and optionally removes the random effects.

plot_smooth( x, view = NULL, cond = list(), plot_all = NULL, rm.ranef = TRUE, n.grid = 30, rug = NULL, add = FALSE, se = 1.96, sim.ci = FALSE, shade = TRUE, eegAxis = FALSE, col = NULL, lwd = NULL, lty = NULL, print.summary = getOption("itsadug_print"), main = NULL, xlab = NULL, ylab = NULL, xlim = NULL, ylim = NULL, h0 = 0, v0 = NULL, transform = NULL, transform.view = NULL, legend_plot_all = NULL, hide.label = FALSE, ... )

`x` |
A gam object, produced by |

`view` |
Text string containing the name of the smooth to be displayed. Note that variables coerced to factors in the model formula won't work as view variables. |

`cond` |
A named list of the values to use for the other predictor terms (not in view). Used for choosing between smooths that share the same view predictors. |

`plot_all` |
A vector with a name / names of model predictors, for which all levels should be plotted. |

`rm.ranef` |
Logical: whether or not to remove random effects. Default is TRUE. |

`n.grid` |
The number of grid nodes in each direction used for calculating the plotted surface. |

`rug` |
Logical: when TRUE then the covariate to which the plot applies is displayed as a rug plot at the foot of each plot. By default set to NULL, which sets rug to TRUE when the dataset size is <= 10000 and FALSE otherwise. Setting to FALSE will speed up plotting for large datasets. |

`add` |
Logical: whether or not to add the lines to an existing plot, or start a new plot (default). |

`se` |
If less than or equal to zero then only the predicted surface is
plotted, but if greater than zero, then the predicted values plus
confidence intervals are plotted.
The value of |

`sim.ci` |
Logical: Using simultaneous confidence intervals or not
(default set to FALSE). The implementation of simultaneous CIs follows
Gavin Simpson's blog of December 15, 2016:
https://fromthebottomoftheheap.net/2016/12/15/simultaneous-interval-revisited/.
This interval is calculated from simulations based.
Please specify a seed (e.g., |

`shade` |
Logical: Set to TRUE to produce shaded regions as confidence bands for smooths (not avaliable for parametric terms, which are plotted using termplot). |

`eegAxis` |
Logical: whether or not to reverse the y-axis, plotting the negative amplitudes upwards as traditionally is done in EEG research. If eeg.axes is TRUE, labels for x- and y-axis are provided, when not provided by the user. Default value is FALSE. |

`col` |
The colors for the lines and the error bars of the plot. |

`lwd` |
The line width for the lines of the plot. |

`lty` |
The line type for the lines of the plot. |

`print.summary` |
Logical: whether or not to print summary.
Default set to the print info messages option
(see |

`main` |
Changing the main title for the plot, see also title. |

`xlab` |
Changing the label for the x axis, defaults to a description of x. |

`ylab` |
Changing the label for the y axis, defaults to a description of y. |

`xlim` |
the x limits of the plot. |

`ylim` |
the y limits of the plot. |

`h0` |
A vector indicating where to add solid horizontal lines for reference. By default no values provided. |

`v0` |
A vector indicating where to add dotted vertical lines for reference. By default no values provided. |

`transform` |
Function for transforming the fitted values. Default is NULL. |

`transform.view` |
Function for transforming the values on the x-axis. Defaults to NULL (no transformation). |

`legend_plot_all` |
Legend location. This could be a keyword from
the list 'bottomright', 'bottom', 'bottomleft', 'left', 'topleft', 'top',
'topright', 'right' and 'center', or a list with |

`hide.label` |
Logical: whether or not to hide the label (i.e., 'fitted values'). Default is FALSE. |

`...` |
other options to pass on to lines and plot,
see |

This function plots the summed effects, including intercept and other
predictors. For plotting partial effects, see the function
`plot.gam`

, or see the examples with
`get_modelterm`

for more flexibility (e.g., plotting using the
`lattice`

package or `ggplots`

).

Jacolien van Rij and Martijn Wieling.

`plot.gam`

, `plot_diff`

Other Functions for model inspection:
`dispersion()`

,
`fvisgam()`

,
`gamtabs()`

,
`inspect_random()`

,
`plot_data()`

,
`plot_parametric()`

,
`plot_topo()`

,
`pvisgam()`

data(simdat) ## Not run: # Model with random effect and interactions: m1 <- bam(Y ~ te(Time, Trial)+s(Time, Subject, bs='fs', m=1), data=simdat, discrete=TRUE) # Default plot produces only surface of Time x Trial: plot(m1, select=1) # Only the Time component: plot_smooth(m1, view='Time') # Note the summary that is printed. # without random effects: plot_smooth(m1, view='Time', rm.ranef=TRUE) # Plot summed effects: dev.new(width=8, height=4) # use x11(,8,4) on Linux par(mfrow=c(1,2)) fvisgam(m1, view=c('Time', 'Trial'), plot.type='contour', color='topo', main='interaction', rm.ranef=TRUE) arrows(x0=0, x1=2200, y0=-5, y1=-5, col='red', code=2, length=.1, lwd=2, xpd=TRUE) plot_smooth(m1, view='Time', cond=list(Trial=-5), main='Trial=-5', rm.ranef=TRUE) # Model with random effect and interactions: m2 <- bam(Y ~ Group + s(Time, by=Group) +s(Time, Subject, bs='fs', m=1), data=simdat, discrete=TRUE) # Plot all levels of a predictor: plot_smooth(m2, view='Time', plot_all='Group', rm.ranef=TRUE) # It also possible to combine predictors in plot_all. # Note: this is not a meaningfull plot, because Subjects # fall in only one group. Just for illustration purposes! plot_smooth(m2, view='Time', plot_all=c('Group', 'Subject')) # Clearly visible difference in confidence interval, because # a01 does not occur in Group 'Children': # (Note that this plot generates warning) plot_smooth(m2, view='Time', plot_all=c('Group', 'Subject'), cond=list(Subject='a01')) # Using sim.ci: simultaneous CI instead of pointwise CI dev.new(width=8, height=4) # use x11(,8,4) on Linux par(mfrow=c(1,2)) plot_smooth(m2, view='Time', plot_all='Group', rm.ranef=TRUE) plot_smooth(m2, view='Time', rm.ranef=TRUE, plot_all='Group', sim.ci=TRUE, add=TRUE, shade=FALSE, xpd=TRUE) plot_smooth(m2, view='Time', rm.ranef=TRUE, sim.ci=TRUE, col='red') # Using transform # Plot log-transformed dependent predictor on original scale: plot_smooth(m1, view='Time', rm.ranef=TRUE, transform=exp) # Notes on transform.view: # This will generate an error, because x-values <= 0 will result in NaN: plot_smooth(m1, view='Time', rm.ranef=TRUE, transform.view=log) # adjusting the x-axis helps: plot_smooth(m1, view='Time', rm.ranef=TRUE, transform.view=log, xlim=c(1,2000)) ## End(Not run) # and for a quick overview of plotfunctions: vignette('overview', package='itsadug')

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.