*! aefdr version 1.0 18Dec19
help aefdr

Title

aefdr -- False discovery rate p-value adjustment for adverse event data

Syntax

aefdr , bodysys(varname) event(varname) pvalueadj(varname) [options]

aefdr requires summary data in long format with one row per event

* bodysys(varname) indicates the variable containing the higher level AE name/identifier. varname may be a numeric or a string variable

* event(varname) indicates the variable containing the lower level AE name/identifier. varname may be a numeric or a string variable

* pvalueadj(varname) indicates the variable containing the unadjusted p-values at the event() level (must be numeric)

fdrval(#) indicates the alpha value at which events will be flagged if the adjusted p-values fall below; default is fdrval(0.1)

* bodysys(), event() and pvalueadj() are required

Description

aefdr performs a false discovery rate (FDR) p-value adjustment for adverse event data where events are nested within
bodysystems from a two-arm clinical trial as proposed by Mehrotra and Adewale (2012).
The FDR procedure is a two-step approach that utilises the structure of adverse event data
to adjust p-values to reduce the false discovery rate.

Options

bodysys(varname) specifies the variable containing the higher level AE name/identifier.
bodysys(varname) is required and may be a numeric or a string variable.

event(varname) specifies the variable containing the lower level AE name/identifier.
event(varname) is required and may be a numeric or a string variable.

pvalueadj(varname) indicates the variable containing the unadjusted p-values at the event() level.
pvalueadj(varname) is required and must be a numeric variable.

fdrval(#) indicates the alpha value at which events will be flagged if the adjusted p-values fall below;
default is fdrval(0.1).

Remarks

General remarks

General remarks

(1) Summary data are required in long format with one row per event.

(2) The command creates a new dataset with one row per event containing summary level data
including a variable, p2 containing the adjusted p-value for each event in event;
a variable, p2_bs containing the adjusted p-value for each event in bodysys; and a variable,
flag which equals 1 if events satisfy the p-value threshold specified in fdrval.

(3) Once the command finishes running the new dataset is stored in memory and saved in the current working directory.
If users want to keep the original dataset in memory we recommend using the preserve and restore commands.
See preserve for further details.

Examples

Analysing an example dataset

. use example_aefdr.dta

FDR adjustment

. aefdr , bodysys(bodysystem) event(ae) pvalueadj(pvalue_unadj)

FDR adjustment using the fdrval option to change the alpha value at which signals are raised

. use example_aefdr.dta, clear

. aefdr , bodysys(bodysystem) event(ae) pvalueadj(pvalue_unadj) fdrval(0.1)

References

Mehrotra, D. V. and A. J. Adewale. 2012. Flagging clinical adverse experiences: Reducing false discoveries without materially compromising power for detecting true signals.
Statistics in Medicine 31(18): 1918-1930.

Mehrotra, D. V. and J. F. Heyse. 2004. Use of the false discovery rate for evaluating clinical safety data..
Statistical Methods in Medical Research 13(3): 227-238.

Authors

Rachel Phillips

Imperial College London, UK

r.phillips@imperial.ac.uk

Suzie Cro

Imperial College London, UK