HH (version 2.2-17)

ae.dotplot: AE (Adverse Events) dotplot of incidence and relative risk

Description

A two-panel display of the most frequently occurring AEs in the active arm of a clinical study. The first panel displays their incidence by treatment group, with different symbols for each group. The second panel displays the relative risk of an event on the active arm relative to the placebo arm, with 95% confidence intervals for a $2\times2$ table. The AEs are ordered by relative risk so that events with the largest increases in risk for the active treatment are prominent at the top of the display.

Usage

ae.dotplot(ae, ...)

ae.dotplot.long(xr,
                A.name = levels(xr$RAND)[1], B.name = levels(xr$RAND)[2],
                col.AB = c("red","blue"), pch.AB = c(16, 17),
                main.title = "Most Frequent On-Therapy Adverse Events Sorted by Relative Risk",
                main.cex = 1,
                cex.AB.points = NULL, cex.AB.y.scale = 0.6,
                position.left = c(0, 0, 0.7, 1), position.right = c(0.61, 0, 0.98, 1),
                key.y = -0.2, CI.percent=95)

logrelrisk(ae, A.name, B.name, crit.value=1.96)

panel.ae.leftplot(x, y, groups, col.AB, ...)

panel.ae.rightplot(x, y, ..., lwd=6, lower, upper)

panel.ae.dotplot(x, y, groups, ..., col.AB, pch.AB, lower, upper) ## R only

aeReshapeToLong(aewide)

Arguments

Value

logrelrisk takes an input data.frame of the form x described in the argument list and returns a data.frame consisting of the input argument with additional columns as described in the argument xr. The result column of symptom names PREF is an ordered factor, with the order specified by the relative risk. ae.leftplot returns a "trellis" object containing a horizontal dotplot of the percents against each of the symptom names. ae.rightplot returns a "trellis" object containing a horizontal plot on the log scale of the relative risk confidence intervals against each of the symptom names. ae.dotplot calls both ae.leftplot and ae.rightplot and combines their plots into a single display with a single set of left axis labels, a main title, and a key. The value returned invisibly is a list of the full left trellis object and the right trellis obect with its left labels blanked out. Printing the value will not usually be interesting as the main title and key are not included. It is better to call ae.dotplot directly, perhaps with a change in some of the positioning arguments.

Details

The second panel shows relative risk of an event on the active arm (treatment B) relative to the placebo arm (treatment A), with 95% confidence intervals for a $2\times2$ table. Confidence intervals on the log relative risk are calculated using the asymptotic standard error formula given as Equation 3.18 in Agresti A., Categorical Data Analysis. Wiley: New York, 1990.

References

Ohad Amit, Richard M. Heiberger, and Peter W. Lane. (2008) ``Graphical Approaches to the Analysis of Safety Data from Clinical Trials''. Pharmaceutical Statistics, 7, 1, 20--35.http://www3.interscience.wiley.com/journal/114129388/abstract

Examples

Run this code
## variable names in the input data.frame aeanonym
## RAND   treatment as randomized
## PREF   adverse event symptom name
## SN     number of patients in treatment group
## SAE    number of patients  in each group for whom the event PREF was observed
##
## Input sort order is PREF/RAND

aeanonym <- read.table(hh("datasets/aedotplot.dat"), header=TRUE, sep=",")
aeanonym[1:4,]

## Calculate log relative risk and confidence intervals (95% by default).
## logrelrisk sets the sort order for PREF to match the relative risk.
aeanonymr <- logrelrisk(aeanonym)
aeanonymr[1:4,]

## construct and print plot on current graphics device
ae.dotplot(aeanonymr,
           A.name="TREATMENT A (N=216)",
           B.name="TREATMENT B (N=431)")
## export.eps(h2("stdt/figure/aerelrisk.eps"))
## This looks great on screen and exports badly to eps.
## We recommend drawing this plot directly to the postscript device:
##
## trellis.device(postscript, color=TRUE, horizontal=TRUE,
##                colors=ps.colors.rgb[
##                  c("black", "blue", "red", "green",
##                    "yellow", "cyan","magenta","brown"),],
##                onefile=FALSE, print.it=FALSE,
##                file=h2("stdt/figure/aerelrisk.ps"))
## ae.dotplot(aeanonymr,
##            A.name="TREATMENT A (N=216)",
##            B.name="TREATMENT B (N=431)")
## dev.off()

## smaller artifical example with the wide format
aewide <- data.frame(Event=letters[1:6],
                     N.A=c(50,50,50,50,50,50),
                     N.B=c(90,90,90,90,90,90),
                     AE.A=2*(1:6),
                     AE.B=1:6)
aewtol <- aeReshapeToLong(aewide)
xr <- logrelrisk(aewtol)
ae.dotplot(xr)

Run the code above in your browser using DataLab