• Stars
    star
    204
  • Rank 192,063 (Top 4 %)
  • Language
    R
  • License
    Other
  • Created over 6 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ggplot-based graphics and useful functions for GAMs fitted using the mgcv package

gratia

R build status codecov CRAN_Status_Badge CRAN Downloads

Overview

Graceful ‘ggplot’-based graphics and utility functions for working with generalized additive models (GAMs) fitted using the ‘mgcv’ package. Provides a reimplementation of the plot() method for GAMs that ‘mgcv’ provides, as well as ‘tidyverse’ compatible representations of estimated smooths.

Features

The main features of gratia are currently

  • A ggplot2-based replacement for mgcv:::plot.gam(): draw.gam().

    For example, the classic four term additive example from Gu & Wahba:

    Estimated smooths from a GAM

    Or for a bivariate smooth:

    Estimated smooths from a GAM

    Note that some specialist smoothers (bs %in% c("mrf","sw", "sf")) are not currently supported, but univariate, factor and continuous by-variable smooths, simple random effect smooths (bs = 're'), factor-smooth interaction smooths (bs = "fs"), constrained factor smooths (bs = "sz"), full soap film smooths (bs = "so"), and bivariate, trivariate, and quadvariate TPRS and tensor product smooths are supported,

  • Estimatation of derivatives of fitted smoothers: derivatives(),

  • Estimation of point-wise across-the-function confidence intervals and simultaneous intervals for smooths: confint.gam().

  • Model diagnostics via appraise()

    Model diagnostics figure

Installing gratia

gratia is now available on CRAN, and can be installed with

install.packages('gratia')

however gratia is under active development and you may wish to install the development version from github. The easiest way to do this is via the install_github() function from package remotes. Make sure you have remotes installed, then run

remotes::install_github("gavinsimpson/gratia")

to install the package. Alternatively, binary packages of the development version are available from rOpenSci’s R Universe service:

# Install gratia in R
install.packages("gratia", repos = c("https://gavinsimpson.r-universe.dev",
  "https://cloud.r-project.org"))

History

gratia grew out of an earlier package, schoenberg, itself a development of the earlier package tsgam, which was originally intended to be used with GAMs fitted to time series. As I was developing tsgam however it became clear that the package could be used more generally and that the name “tsgam” was no longer appropriate. To avoid breaking blog posts I had written using tsgam I decided to copy the git repo and all the history to a new repo for the package under the name schoenberg. At a later date someone released another package called schoenberg to CRAN, so that scuppered that idea. Now I’m calling the package gratia. Hopefully I won’t have to change it again…

Why gratia?

In naming his greta package, Nick Golding observed the recent phenomena of naming statistical modelling software, such as Stan or Edward, after individuals that played a prominent role in the development of the field. This lead Nick to name his Tensor Flow-based package greta after Grete Hermann.

In the same spirit, gratia is named in recognition of the contributions of Grace Wahba, who did pioneering work on the penalised spline models that are at the foundation of the way GAMs are estimated in mgcv. I wanted to name the package grace, to explicitly recognise Grace’s contributions, but unfortunately there was already a package named Grace on CRAN. So I looked elsewhere for inspiration.

The English word “grace” derives from the Latin gratia, meaning “favor, charm, thanks” (according to Merriam Webster).

The chair that Grace Wabha currently holds is named after Isaac J Schoenberg, a former University Madison-Wisconsin Professor of Mathematics, who in a 1946 paper provided the first mathematical reference to “splines”. (Hence the previous name for the package.)

More Repositories

1

ggvegan

ggplot-based plots for vegan
R
109
star
2

intro-gam-webinar-2020

HTML
87
star
3

physalia-gam-course

Generalized Additive Models; a data-driven approach to estimating regression models
HTML
73
star
4

intro-vegan-webinar-july-2020

Get started using the vegan package for R for multivariate data analysis and community ecology
HTML
41
star
5

tsgam

Functions for using GAMs to model time series
R
31
star
6

schoenberg

ggplot-based graphics and useful functions for GAMs fitted using the mgcv package
R
26
star
7

gams-yorku-canada-150

GAM Workshop at York University, October 2018
HTML
25
star
8

physalia-multivariate

Multivariate analysis of biological data
HTML
25
star
9

permute

Restricted permutations
R
22
star
10

advanced-vegan-webinar-july-2020

Delve deeper into using R and vegan to analyse complex multivariate community ecology data with this free webinar
HTML
21
star
11

frontiers-palaeo-additive-modelling

Modelling and feature detection in palaeoenvironmental time series using additive models
TeX
20
star
12

esa-advanced-vegan

Advanced Vegan Workshop for ESA
TeX
17
star
13

analogue

Analogue and weighted averaging methods for palaeoecology
R
14
star
14

coenocliner

An R package to simulate species occurences and abundances (counts) along gradients
R
12
star
15

canadaHCD

Access Canadian Historical Climate Data from R
R
10
star
16

ukraine-gam

Workshop on GAMs to support Ukraine
HTML
10
star
17

gams-instaar-2018

Modelling Palaeoenvironmental Time Series Using Generalized Additive Models
HTML
7
star
18

random_code

Random bits of code for my blog
R
6
star
19

esa-advanced-vegan-2016

Advanced Vegan Workshop at ESA 2016
TeX
6
star
20

plant-phys

BIOL 266 Plant Physiology Lab
HTML
5
star
21

fromthebottomoftheheap

My personal blog and wesbite
HTML
5
star
22

au-multivariate-stats

Aarhus university PhD Course Multivariate analysis of biological data using R
HTML
5
star
23

waterloo2022

HTML
4
star
24

temporalEF

Eigenfunctions for time series
R
4
star
25

adelaide-2017

Materials for a course on R for palaeoecologists/limnologists at U Adelaide, 2017
TeX
4
star
26

inqua23

Slides and code for my session keynote at INQUA 2023
R
4
star
27

esa-csee-2022

HTML
4
star
28

au-ecoscience-2023

Seminar at Dept Ecoscience, Aarhus University, March 8th 2023
HTML
4
star
29

virtual-summit-2020

HTML
3
star
30

nso-2022-workshop

Ordination methods for Ecology and Generalized additive models
HTML
3
star
31

esa-advanced-vegan-2015

Materials for an advanced workshop on using vegan in R for conducting community ecology analyses. To be held in Baltimore in 2015 as part of the ESA conference.
TeX
3
star
32

ncse-seminar-2022

National Centre for Statistical Ecology seminar, Feb 9th, 2022
HTML
3
star
33

paleoecogen-seminar-2022

HTML
3
star
34

ecos-water-talk-may-2024

Talk in Aarhus University Department of Ecoscience's Water Talks seminar series, May 2nd, 2024
HTML
3
star
35

au-viborg-gam-course

2
star
36

au-viborg-mixed-modelling-course

2
star
37

hgam-examples

Examples of fitting HGAMs using mgcv
2
star
38

UBCVeganStudyGroup

Materials for UBC Study Group on Vegan and Permute R package
TeX
2
star
39

tracking-virtual-study-hall

HTML
2
star
40

pre-ial-ipa

Live coding session on statistical palaeolimnology
2
star
41

bes-paleo-r-workshop

HTML
2
star
42

palaeopcurvepaper

Use of principal curves for analysis and summary of palaeoecological stratigraphic data
TeX
2
star
43

open-university-seminar-nov-2022

HTML
2
star
44

gavmisc

My package of miscellaneous R functions and code
R
1
star
45

rad-gam

Rank Abundance Diagrams and GAMs
R
1
star
46

orcid

Miscellaneous functions for working with Orcid
1
star
47

pcurve

Glenn De'Ath's principal curve package
R
1
star
48

sdsu-vegan

Vegan workshop at South Dakota State University, March 2016
1
star
49

analogueExtra

Extra features and functions for use with the analogue package
R
1
star
50

ipa-2018-rstats

International Paleolimnology Symposium R Workshop, Stockholm, Sweden, June 15-17, 2018
R
1
star
51

acme-stats

ACME Palaeo data science and statistical modelling workshop
HTML
1
star
52

roxcal

Parse Oxcal output files with R
Makefile
1
star
53

gratia-joss-paper

Manuscript on gratia for the Journal of Open Source Software
TeX
1
star
54

dper5

R code and associated files for my chapters in the book Tracking Environmental Change Using Lake Sediments, Volume 5: Data Handling and Numerical Techniques
R
1
star