albatros function

Albatros plot

Albatros plot

Produces the albatros plot of Harrison et al\loadmathjax

albatros(p, n, axes = list(xlimit = NULL, ylimit = NULL, lefttext = NULL, righttext = NULL), contours = list(type = NULL, contvals = NULL, ltys = NULL, contlabs = NULL), plotpars = list(yscale = NULL, pchs = NULL, cols = NULL), ...)

Arguments

  • p: A vector of \mjseqn p values

  • n: A vector of sample sizes

  • axes: A list containing

    • xlimit a single value, the limit for the x-axis which is used symmetrically
    • ylimit a vector of length 2, limits for the y-axis
    • lefttext character, to label below plot
    • righttext character, to label below plot
  • contours: A list containing

    • type what effect size to use, a character one of "corr", "or", "smd"
    • contvals a vector, what values to draw the contours at
    • ltys a vector, what line types to use
    • contlabs logical, draw the labels of the countours?
  • plotpars: A list containing

    • yscale Scaling for y-axis, See details
    • pchs Symbols to be used
    • cols Colours for points
  • ...: Arguments to be passed through to plot

Details

Plots \mjseqn n against \mjseqn p and draws contours of constant effect size. \insertNoCite harrison17metap

The \mjseqn p value scale on the x-axis is a logarithmic one but folded at the null value so that the extreme values represent small probabilities in each direction. The scale for the y-axis is user selectable. The original scale in the Stata version is \mjeqn (\log _10n)^2log(n, base = 10) ^ 2 which is obtained by setting yscale to "classic" but it is also possible to use \mjeqn \sqrt nsqrt(n)

which is the default or \mjseqn n by setting yscale to "n". If the dataset contains extreme values the plot may be uninformative and the xlimit

and ylimit parameters my be helpful to clip the plot. If they are not specified the function tries to choose suitable values.

For the contours if the type parameter in contours

is NULL (the default) no contours will be plotted. The options available are smd (Standardised mean difference) corr (Correlation) or (Odds ratio).

The contours are labelled unless contlabs is set to FALSE. The function tries to position these so they are not obscured by the contour lines but if that is unsatisfactory then it is best to suppress them and position them manually or use a legend to identify line types.

The pch parameter may either be a single value or a vector of the same length as p. It may contain anything which is legal as input to the parameter of the same name in the graphics library and will be used for the plotted points. The cols parameter works similarly.

The values of lefttext and righttext are used to produce labels under the \mjseqn x-axis and are placed level with the label. By default they are not produced.

The return values from the function may be useful if further annotations are required as they give the axis limits in plotting units.

Returns

Returns a list containing - xlims: The limits for the x-axis in plotting units

  • ylims: The limits for the y-axis in plotting units

References

\insertAllCited

Author(s)

Michael Dewey

Note

The docontours function is for internal use only

See Also

For plotting parameters see par

Examples

data(dat.metap) validity <- dat.metap$validity fit.v <- albatros(validity$p, validity$n, contours = list(type = "corr", contvals = c(0.25, 0.5, 0.8), ltys = 1:3), axes = list(ylimit = c(1,200), lefttext = "Negative correlation", righttext = "Positive correlation"), main = "Validity") # fit.z <- albatros(dat.metap$zhang$p, dat.metap$zhang$n, contours = list(type = "smd", contvals = c(0.25, 0.5, 1), ltys = 1:3), plotpars = list(pchs = letters[unclass(dat.metap$zhang$phase)]), axes = list(lefttext = "Favours control", righttext = "Favours exercise"), main = "Zhang" )
  • Maintainer: Michael Dewey
  • License: GPL-2
  • Last published: 2025-03-15

Useful links