Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

Termplot

A wrapper for termplot that optionally (but by default) exponentiates terms, and plot them on a common log-scale. Also scales x-axes to the same physical scale.


Description

The function uses termplot to extract terms from a model with, say, spline, terms, including the standard errors, computes confidence intervals and transform these to the rate / rate-ratio scale. Thus the default use is for models on the log-scale such as Poisson-regression models. The function produces a plot with panels side-by-side, one panel per term, and returns the

Usage

Termplot( obj,
           plot = TRUE,
           xlab = NULL,
           ylab = NULL,
            xeq = TRUE,
           yshr = 1,
          alpha = 0.05,
          terms = NULL,
         max.pt = NULL )

Arguments

obj

An object with a terms-method — for details the the documentation for termplot.

plot

Should a plot be produced?

xlab

Labels for the x-axes. Defaults to the names of the terms.

ylab

Labels for the x-axes. Defaults to blank.

xeq

Should the units all all plots have the same physical scale for the x-axes).

yshr

Shrinking of y-axis. By default, the y-axes have an extent that accommodates the entire range of confidence intervals. This is a shrinking parameter for the y-axes, setting it to less than 1 will lose a bit of the confidence limits on some of the panels.

alpha

1 minus the confidence level for computing confidence intervals

terms

Which terms should be reported. Passed on to termplot and eventually predict.

max.pt

The maximal number of points in which to report the terms. If NULL all unique points from the analysis dataset are reported for each term (this is a feature of termplot).

Value

A list with one component per term in the model object obj, each component is a 4-column matrix with $x$ as the first column, and 3 columns with estimae and lower and upper confidence limit.

Author(s)

Bendix Cartensen

See Also

Ns, termplot

Examples

# Get the diabetes data and set up as Lexis object
data(DMlate)
DMlate <- DMlate[sample(1:nrow(DMlate),500),]
dml <- Lexis( entry = list(Per=dodm, Age=dodm-dobth, DMdur=0 ),
               exit = list(Per=dox),
        exit.status = factor(!is.na(dodth),labels=c("DM","Dead")),
               data = DMlate )

# Split in 1-year age intervals
dms <- splitLexis( dml, time.scale="Age", breaks=0:100 )

# Model with 6 knots for both age and period
n.kn <- 6
# Model age-specific rates with period referenced to 2004
( a.kn <- with( subset(dms,lex.Xst=="Dead"),
                quantile( Age+lex.dur, probs=(1:n.kn-0.5)/n.kn ) ) )
( p.kn <- with( subset(dms,lex.Xst=="Dead"),
                quantile( Per+lex.dur, probs=(1:n.kn-0.5)/n.kn ) ) )
m2 <- glm( lex.Xst=="Dead" ~ -1 +
                             Ns( Age, kn=a.kn, intercept=TRUE ) +
                             Ns( Per, kn=p.kn, ref=2004 ),
           offset = log( lex.dur ), family=poisson, data=dms )

# Finally we can plot the two effects:
Termplot( m2, yshr=0.9 )

Epi

Statistical Analysis in Epidemiology

v2.44
GPL-2
Authors
Bendix Carstensen [aut, cre], Martyn Plummer [aut], Esa Laara [ctb], Michael Hills [ctb]
Initial release
2021-02-28

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.