Cumulative meta-analysis, with graphics
metacum varlist [if] [in] [, [binary_data_options | continuous_data_options | precalculated_effect_estimates_options] measure_and_model_option output_options forest_plot_options]
or rr rd fixed random fixedi randomi peto nointeger cc(#)
cohen hedges glass nostandard fixed random nointeger
precalculated_effect_estimates_options
fixed random
wgt(wgtvar)
by(byvar) log eform ilevel(#) sortby(varlist) label([namevar=namevar], [yearvar=yearvar]) notable nograph
xlabel(#,...) xtick(#,...) textsize(#) nowt nostats counts group1(string) group2(string) effect(string) force lcols(varlist) rcols(varlist) astext(#) double summaryonly null(#) nulloff favours(string # string) pointopt(marker_options | marker_label_options) ciopt(line_options) olineopt(line_options) classic nowarning graph_options
Description
metacum provides cumulative pooled estimates and confidence limits obtained from fixed or random effects meta-analysis and plots the cumulative pooled estimates in the style of Lau et al. (1992).
This updated version requires that metan is installed, for which metacum now acts as a wrapper. As such the syntax is very similar, allowing the user to supply data in a variety of formats. Version 9 graphics are displayed and most of the options for metan, and many general graphics options, are permitted. This help file is very similar to that of metan, although with the omission of some options.
metacum requires either two, three, four or six variables to be declared. When four variables are specified these correspond to the number of events and non-events in the experimental group followed by those of the control group, and analysis of binary data is performed on the 2x2 table. With six variables, the data are assumed continuous and to be the sample size, mean and standard deviation of the experimental group followed by those of the control group. If three variables are specified these are assumed to be the effect estimate and its lower and upper confidence interval, and it is suggested that these are log transformed for odds ratios or risk ratios and the eform option used. If two variables are specified these are assumed to be the effect estimate and standard error; again, it is recommended that odds ratios or risk ratios are log transformed.
Options
binary_data_options
or pools ORs.
rr pools RRs; this is the default.
rd pools risk differences.
fixed specifies a fixed-effect model using the Mantel-Haenszel method; this is the default.
random specifies a random-effects model using the DerSimonian and Laird method, with the estimate of heterogeneity being taken.
fixedi specifies a fixed-effect model using the inverse-variance method.
randomi specifies a random-effects model using the DerSimonian and Laird method, with the estimate of heterogeneity being taken from the inverse-variance fixed-effect model.
peto specifies that the Peto method is used to pool ORs.
nointeger allows the cell counts to be nonintegers. This option may be useful when a variable continuity correction is sought for studies containing zero cells but also may be used in other circumstances, such as where a cluster-randomized trial is to be incorporated and the "effective sample size" is less than the total number of observations.
cc(#) defines a fixed-continuity correction to add where a study contains a zero cell. By default, metan8 adds 0.5 to each cell of a trial where a zero is encountered when using inverse-variance, DerSimonian and Laird, or Mantel-Haenszel weighting to enable finite variance estimators to be derived. However, the cc() option allows the use of other constants (including none). See also the nointeger option.
continuous_data_options
cohen pools standardized mean differences by the Cohen method; this is the default.
hedges pools standardized mean differences by the Hedges method.
glass pools standardized mean differences by the Glass method.
nostandard pools unstandardized mean differences.
fixed specifies a fixed-effect model using the Mantel-Haenszel method; this is the default.
random specifies a random-effects model using the DerSimonian and Laird method, with the estimate of heterogeneity being taken.
nointeger denotes that the number of observations in each arm does not need to be an integer. By default, the first and fourth variables specified (containing N_intervention and N_control, respectively) may occasionally be noninteger (see nointeger under binary data).
precalculated_effect_estimates_options
fixed specifies a fixed-effect model using the Mantel-Haenszel method; this is the default.
random specifies a random-effects model using the DerSimonian and Laird method, with the estimate of heterogeneity being taken.
measure_and_model_option
wgt(wgtvar) specifies alternative weighting for any data type. The effect size is to be computed by assigning a weight of wgtvar to the studies. When RRs or ORs are declared, their logarithms are weighted. This option should be used only if you are satisfied that the weights are meaningful.
output_options
by(byvar) specifies that the meta-analysis is to be stratified according to the variable declared.
log reports the results on the log scale (valid only for ORs and RRs analyses from raw data counts).
eform exponentiates all effect sizes and confidence intervals (valid only when the input variables are log-ORs or log-hazard ratios with standard error or confidence intervals).
ilevel(#) specifies the coverage (e.g., 90%, 95%, 99%) for the individual trial confidence intervals; the default is $S_level. See set level.
sortby(varlist) sorts by variable(s) in varlist.
label([namevar=namevar], [yearvar=yearvar]) labels the data by its name, year, or both. Either or both variable lists may be left blank. For the table display, the overall length of the label is restricted to 20 characters. If the lcols() option is also specified, it will override the label() option.
notable prevents the display of a results table.
nograph prevents the display of a graph.
forest_plot_options
xlabel(#,...) defines x-axis labels. This option has been modified so that any number of points may be defined. Also, checks are no longer made as to whether these points are sensible, so the user may define anything if the force option is used. Points must be comma separated.
xtick(#,...) adds tick marks to the x-axis. Points must be comma separated.
textsize(#) specifies the font size for the text display on the graph. This option has been modified so that the default is textsize(100) (as in 100%) and the percentage may be increased or decreased (e.g., 80 or 120 for 20% smaller or larger, respectively).
nowt prevents the display of study weight on the graph.
nostats prevents the display of study statistics on the graph.
counts displays data counts (n/N) for each group when using binary data or the sample size, mean, and standard deviation for each group if mean differences are used (the latter is a new feature).
group1(string) and group2(string) may be used with the counts option, and the text should contain the names of the two groups.
effect(string) allows the graph to name the summary statistic used when the effect size and its standard error are declared.
force forces the x-axis scale to be in the range specified by xlabel().
lcols(varlist) and rcols(varlist) define columns of additional data to the left or right of the graph. The first two columns on the right are automatically set to effect size and weight, unless suppressed by using the options nostats and nowt. If counts is used, this will be set as the third column. textsize() can be used to fine-tune the size of the text to achieve a satisfactory appearance. The columns are labeled with the variable label or the variable name if this is not defined. The first variable specified in lcols() is assumed to be the study identifier and this is used in the table output.
astext(#) specifies the percentage of the graph to be taken up by text. The default is 50%, and the percentage must be in the range 10-90.
double allows variables specified in lcols() and rcols() to run over two lines in the plot. This option may be of use if long strings are used.
summaryonly shows only summary estimates in the graph. This option may be of use for multiple subgroup analyses.
null(#) displays the null line at a user-defined value rather than at 0 or 1.
nulloff removes the null hypothesis line from the graph.
favours(string # string) applies a label saying something about the treatment effect to either side of the graph (strings are separated by the # symbol). This option replaces the feature available in b1title in the previous version of metan.
pointopt(marker_options), ciopt(line_options), and olineopt(line_options) specify options for the graph routines within the program, allowing the user to alter the appearance of the graph. Any options associated with a particular graph command may be used, except some that would cause incorrect graph appearance. For example, diamonds are plotted using the twoway pcspike command, so options for line styles are available (see line options); however, altering the x-y orientation with the option horizontal or vertical is not allowed. So, ciopt(lcolor(green) lwidth(thick)) feeds into a command such as pcspike(y1 x1 y2 x2, lcolor(green) lwidth(thick))
pointopt(marker_options) controls the point estimate by using marker options. See marker_options and marker_label_options.
ciopt(line_options) controls the confidence intervals for studies by using options for twoway pcspike (not horizontal/vertical). See line_options.
olineopt(line_options) controls the overall effect line with options for another line (not position). See line_options.
classic specifies that solid black boxes without point estimate markers are used, as in the previous version of metan.
nowarning switches off the default display of a note warning that studies are weighted from random-effects analyses.
graph_options are any of the options documented in [G] twoway_options. These allow the addition of titles, subtitles, captions, etc.; control of margins, plot regions, graph size, aspect ratio; and the use of schemes. Because titles may be added with graph_options, previous options such as b2title are no longer necessary.
Remarks on metacum (calling metan)
For two or three variables, a variance-weighted analysis is performed in a similar fashion to the meta command; the two variable syntax is theta and SE(theta). The 3 variable syntax is theta, lower ci (theta), upper ci (theta). Note that in this situation "theta" is taken to be the logarithm of the effect size if the odds ratio or risk ratio is used. This differs from the equivalent in the meta command. This program does not assume the three variables need log transformation: if odds ratios or risk ratios are combined, it is up to the user to log-transform them first. The eform option may be used to change back to the original scale if needed. By default the confidence intervals are assumed symmetric, and the studies are pooled by taking the variance to be equal to (CI width)/2z.
Note that for graphs on the log scale (that is, ORs or RRs), values outside the range [10e-8,10e8] are not displayed, and similarly graphs of other measures (log ORs, RDs, SMDs) are restricted to the range [-10e8,10e8]. A confidence interval which extends beyond this, or the specified scale if force is used, will have an arrow added at the end of the range.
Examples
All examples use a simulated example dataset (Ross Harris 2006)
. use http://fmwww.bc.edu/repec/bocode/m/metan_example_data
Risk difference from raw cell counts, random effects model, "label" specification
. metacum tdeath tnodeath cdeath cnodeath, rd random label(namevar=id, yearid=year) (click to run)
Generate log odds ratio and standard error. Graph has exponential form, scale is forced within set limits and ticks added. Data columns syntax used and effect label specified.
. gen logor = ln( (tdeath*cnodeath)/(tnodeath*cdeath) )
. gen selogor = sqrt( (1/tdeath) + (1/tnodeath) + (1/cdeath) + (1/cnodeath) )
. metacum logor selogor, eform xlabel(0.6, 0.8, 1, 1.2, 1.4, 1.6) force xtick(0.7, 0.9, 1.1, 1.3, 1.5) lcols(id year country) effect(Odds ratio) (click to run)
Reference
Lau, J., E. M. Antman, J. Jimenez-Silva, F. Mosteller, and T. C. Chalmers. 1992. Cumulative meta-analysis of therapeutic trials for myocardial infarction. New England Journal of Medicine 327: 248-254.
Authors
First version
Jonathan A. C. Sterne Department of Social Medicine, University of Bristol, Canynge Hall, Whiteladies Road, Bristol BS8 2PR, UK
Version 9 update
Ross J. Harris Department of Social Medicine, University of Bristol, Canynge Hall, Whiteladies Road, Bristol BS8 2PR, UK
Also see
STB: STB-44 sbe24
Online: metan, metannt (if installed), meta (if installed), metareg (if installed), metabias (if installed), metatrim (if installed), metainf (if installed), galbr (if installed), metafunnel (if installed)