Learn R Programming

R2MLwiN (version 0.8-1)

caterpillar: Draws a caterpillar plot (in MLwiN style).

Description

A convenient wrapper for the plot function with the addition of error bars, e.g. to create caterpillar plots.

Usage

caterpillar(y, x, qtlow, qtup, xlab = "", ylab = "", xlim = NULL,
  ylim = NULL, main = "")

Arguments

y
A numerical vector specifying the y coordinates (e.g. the means or medians); see plot.default.
x
A numerical vector specifying the x coordinates; see plot.default.
qtlow
A numerical vector (e.g. of lower-quantiles) to be used to plot lower error bars.
qtup
A numerical vector (e.g. of upper-quantiles) to be used to upper plot error bars.
xlab
A label for the x axis. This is empty by default; see plot.default.
ylab
A label for the y axis. This is empty by default; see plot.default.
xlim
The x limits (x1, x2) of the plot. Note that x1 > x2 is allowed and leads to a `reversed axis'. The default value, NULL, indicates that the range of the finite values to be plotted should be used; see
ylim
The y limits of the plot; see plot.default.
main
A main title for the plot; see plot.default.

See Also

caterpillarR

Examples

Run this code
library(R2MLwiN)
# NOTE: if MLwiN not saved where R2MLwiN defaults to:
# options(MLwiN_path = 'path/to/MLwiN vX.XX/')
# If using R2MLwiN via WINE, the path may look like:
# options(MLwiN_path = '/home/USERNAME/.wine/drive_c/Program Files (x86)/MLwiN vX.XX/')

# Example using tutorial dataset
data(tutorial, package = 'R2MLwiN')
(mymodel <- runMLwiN(normexam ~ 1 + (1 | school) + (1 | student),
                     estoptions = list(resi.store = TRUE),
                     data = tutorial))

# For each school, calculate the CIs...
residuals <- mymodel@residual$lev_2_resi_est_Intercept
residualsCI <- 1.96 * sqrt(mymodel@residual$lev_2_resi_var_Intercept)
residualsRank <- rank(residuals)
rankno <- order(residualsRank)

caterpillar(y = residuals[rankno], x = 1:65, qtlow = (residuals - residualsCI)[rankno],
           qtup = (residuals + residualsCI)[rankno], xlab = 'Rank', ylab = 'Intercept')

Run the code above in your browser using DataLab