vignette("meta-tutorial") (R commands from Balduzzi et al., 2019)
R package metadat added to Depends (to access meta-analysis datasets)
R package robvis added to Suggests (for risk of bias assessment)
New functions rob(), barplot.rob() and traffic_light() for risk of bias assessment (RoB)
New function read.cdir() to import Cochrane data package from Cochrane review of interventions
New function blup.meta() to calculate best linear unbiased predictors (BLUPs)
New functions estimates(), estimates.meta(), and estimates.blup.meta() to extract meta-analysis results
Lower and upper confidence interval limits of individual study results stored as transformed limits for meta-analysis with single proportions or rates (in previous versions of meta, CI limits were back transformed for individual studies and not back transformed for meta-analysis results)
Changes for forest plots:
common effect and random effects confidence intervals and prediction intervals are truncated if lower / upper limit is outside the limits of the x-axis
New general setting "BMJ", i.e., R command settings.meta("BMJ"), to print results according to BMJ style and formating checklist, see, for example, BMJ Medicine
R function metabind() can return both common effect and random effects results as well as prediction intervals
Internal functions for (back) transformations made visible / accessible to the user; see help("meta-transf")
Within-cluster correlation can be specified for three-level model (by default, rho = 0)
Use approximate formulae for Hedges' g and Cohen's d for RevMan 5 settings; see help page of settings.meta()
Argument 'pscale' or 'irscale' could be used in principle with any effect measure which is useful for user-specified summary measure in metagen()
New R function plot.meta() which calls forest.meta() internally
new argument 'rho' to specify within-cluster correlation in three-level model
print.meta():
do not print degrees of freedom for Hartung-Knapp or Kenward-Rogers intervals if argument \code{overall = FALSE}
gs():
new argument 'unname' to return named arguments (if unname = FALSE)
metamerge():
new arguments 'label1.common', 'label2.common', 'label1.random', 'label2.random', 'label1.predict', 'label2.predict', 'label1.subgroup', and 'label2.subgroup'
metaadd():
new arguments 'method.common', 'method.random', 'method.tau', 'method.random.ci', and 'method.predict'
metabind():
new arguments 'common', 'random' and 'prediction' replacing argument 'pooled'
forest.meta():
justification of results for effect + confidence interval can be specified by argument 'just' if argument 'layout = "RevMan5"'
settings.meta():
new arguments 'leftcols', 'rightcols', 'leftlabs', 'rightlabs', 'label.e.attach' and 'label.c.attach' to changes defaults for corresponding arguments in forest.meta()
bubble.meta():
new arguments 'pscale' and 'irscale' added
metaprop(), metarate():
list elements 'lower' and 'upper' contain the transformed lower and upper confidence interval limits for individual studies
R functions for transformation:
transf(), cor2z(), p2asin(), p2logit(), VE2logVR()
R functions for back transformation:
backtransf(), asin2ir(), asin2p(), logit2p(), logVR2VE(), z2cor()
labels.meta():
automatically calculated limits on x-axis were to narrow for some settings
metamean():
argument 'null.effect' was ignored to calculate the test statistic and p-value for individual studies (list elements 'statistic' and 'pval')
metabin():
use continuity correction if sm = "VE"
metareg():
error if input to argument 'formula' was the name of an R function
print.summary.meta():
New internal function gh() to determine height of graphics file
New internal function smlab() to determine the label for the summary measure
Use of vcalc() from R package metafor to calculate the variance-covariance matrix in three-level model with within-cluster correlation not equal to 0
funnel.meta(): list element of meta-analysis object can be directly specified in arguments 'text', 'col' and 'bg', e.g., argument 'text = studlab' to use study labels instead of plotting symbols
Input to chkchar() can be a numeric vector
settings.meta(): set defaults for arguments 'forest.tau2,' 'forest.tau', 'forest.I2', 'forest.Q', 'forest.pval.Q', and 'forest.Rb' for BMJ, JAMA and RevMan5 layout
In R function metamerge(), user can decide whether to keep or ignore information from second meta-analysis on study weights and heterogeneity statistics
New function metaadd() to add pooled results from external analysis to meta-analysis object
Function update.meta() considers arguments 'method.mean' and 'method.sd'
Variables with group specific information can be merged into a single variable in longarm()
Additional thresholds can be specified to plot vertical lines in forest plots, e.g., to mark large, moderate and small effects
Baujat plot can be used to evaluate influence of studies on random effects estimate
Seed can be specified in meta-analysis functions to calculate reproducible bootstrap prediction intervals
new arguments 'hetlabel1', 'hetlabel2', 'text.common1', 'text.common2', 'text.random1', 'text.random2', 'text.predict1' and 'text.predict2' to label results from first or second meta-analysis
longarm():
do not conduct test for funnel plot asymmetry for three-level model (the test did not consider the cluster structure)
forest.meta():
error if argument 'resid.hetstat = TRUE' was used for subgroup meta-analysis without common between-study variance estimate in subgroups (argument 'tau.common = FALSE' in meta-analysis functions)
read.rm5():
print an error message if bootstrap prediction interval is requested for three-level model
trimfill.default():
new argument 'seed.predict'
baujat.meta():
new argument 'pooled'
forest.meta():
new arguments 'fill.lower.equi' and 'fill.upper.equi' to specify fill colour(s) for lower or upper limits
print.metabias():
full rewrite of function catmeth() to print details on meta-analysis methods
internal functions is.wholenumber() etc. renamed to is_wholenumber() due to new CRAN policy regarding generic functions
metabias():
correct order of cluster variable for three-level meta-analysis with subgroups or use of argument 'sortvar'
metabin(), metacont(), metacor(), metainc(), metamean(), metaprop(), metarate():
recognise argument 'subset' for three-level meta-analysis
Ad hoc variance correction for Hartung-Knapp method was not used for argument 'adhoc.hakn = "IQWiG6"' (bug was introduced in meta, version 6.0-0)
new argument 'Q.Cochrane'
metareg():
metagen(): check argument 'sm' for known summary measures in lower case
setchar(): new arguments 'return.NULL' and 'nchar.equal'
New branch 'release' on GitHub starting with meta, version 6.2-1
Use generic functions metacum() for cumulative meta-analysis, metainf() for leave-one-out meta-analysis and metareg() for meta-regression
New internal function chksuitable() to check for suitable classes
Meta-analysis of Vaccine Efficacy or Vaccine Effectiveness implemented
For the generic inverse variance method,
standard error set to missing if lower and upper confidence limits are identical (resulted in an error)
Methods by McGrath et., (2020) and Cai et., (2021) implemented to approximate means and standard deviations from median and related statistics
R package estmeansd added to suggested packages to provided methods by McGrath et., (2020) and Cai et., (2021)
Print header line in forest plots with JAMA or RevMan5 layout
no error for Revman5 and JAMA layout in meta-analyses with more than one random effects method
metarate():
calculate number of observations in subgroups if argument 'n' is provided
metabind(), forest.metabind():
use correct study / method labels if no subgroup results are present
settings.meta():
argument 'addrows.below.overall' not 'addrow.below.overall'
metagen():
print prediction interval(s) if argument 'method.predict' is not missing
metabin, metagen(), metainc():
argument 'sm = "VE"' can be used for meta-analysis of vaccine efficacy or vaccine effectiveness
metagen(), settings.meta():
new argument 'transf'
forest.meta():
use more informative column labels for 'TE' and 'seTE'
metabin(), metainc(), metaprop() and metarate():
for GLMMs, stop with error if argument 'adhoc.hakn.ci' or 'adhoc.hakn.pi' is unequal to ""
nnt.meta(), nnt.default():
new argument 'small.values' to specify whether small treatment effects indicate a beneficial or harmful effect
settings.meta():
new argument 'digits.TE.forest' to set default for argument 'digits.TE' in forest.meta()
Print blank space before negative upper confidence interval limit if separator is equal to "-"
New help page meta-sm summarising available summary measures
Help page of nnt() updated
Change maintainer's email address
New internal functions transf(), cor2z(), p2asin(), logVR2VE() and VE2logVR()
chknumeric():
new argument 'integer' to check for integer values
List element 'df.Q.b.random' with degrees of freedom for test of subgroup differences under random effects model is a list instead of a vector if more than one random effects method was used (argument 'method.random.ci')
Several changes for meta-analysis using generalised linear mixed or three-level models
Meta-analysis object can contain results of several common effect or random effects methods, e.g., random effects meta-analysis with or without Hartung-Knapp method
Kenward-Roger method implemented to estimate confidence or prediction interval (Partlett & Riley, 2017)
Bootstrap approach implemented to calculate prediction interval (Nagashima et al., 2019)
Rewrite of function metamerge() to merge pooled results of two meta-analyses into a single meta-analysis object
Defaults for appearance of forest plots can be defined for the R session
R package pimeta added to suggested packages in order to calculate bootstrap approach for prediction interval
New argument 'method.random.ci' replaces argument 'hakn' to select method to calculate confidence interval for random effects estimate
Major update of help pages:
do not show empty row before label on x-axis (argument 'xlab') if argument 'label.left' or 'label.right' is provided for meta-analysis without reference value (argument 'ref'), e.g., meta-analysis of single means or proportions
metareg():
new arguments 'method.predict' and 'adhoc.hakn.pi'
settings.meta():
several new arguments added to define defaults for forest plots; see printout of command settings.meta(print = TRUE)
forest.meta():
argument 'bysort' has been renamed to 'sort.subgroup'
trimfill.meta():
Use term 'common effect model' instead of 'fixed effect model' in the documentation and argument 'common' instead of 'fixed' to (not) show results for common effect model
Three-level model implemented in all meta-analysis functions
For continuity corrections, new argument 'method.incr' replaces arguments 'allincr' and 'addincr' for meta-analysis with binary outcome or incidence rates
Exact Poisson confidence limits can be calculated for individual studies in meta-analysis of single rates
Show information on statistical significance and between-study heterogeneity in forest plots of cumulative or leave-one-out meta-analysis
Calculate Cochran's Q directly in meta for classic inverse variance meta-analysis (instead of taking it from metafor package)
By default, do not print warnings for deprecated arguments; this can be changed with command 'settings.meta(warn.deprecated = TRUE)'
Use correct standard error for Cox and Snell's method in smd2or() and or2smd()
Three-level model did not work if variable from dataset was provided as input to argument 'id' in metacont()
Argument 'tau.common = TRUE' was ignored in subgroup analysis of three-level model in metacont()
Argument 'level' was ignored in the calculation of confidence limits for individual studies in metacont() and metamean() if argument 'method.ci = "t"'
Show correct studies in forest plot with subgroups and missing treatment effects if argument 'allstudies = FALSE'
Show points in bubble plot of meta-regression with GLMM
cluster variable is shown in forest plots
New arguments 'common' and 'cluster' in functions metabin(), metacont(), metacor(), metagen(), metainc(), metamean(), metaprop() and metarate()
New function subset.longarm() to select subset of a longarm object
New argument 'method.ci' in function metarate()
New argument 'method.ci.rate' in function settings.meta()
New argument 'method.incr' in functions metabin(), metainc(), metaprop() and metarate()
print.summary.meta():
print study label "1" instead of "" for a single study
metarate():
list elements 'lower' and 'upper' contain untransformed confidence limits for individual studies
New internal function update_needed() to check whether update of meta object is needed
metabin(), metacont(), metacor(), metagen(), metainc(), metamean(), metaprop() and metarate():
by default, do not show subgroup results (pooled estimates and information on heterogeneity) for subgroups consisting of a single study
Prediction intervals in subgroups can be shown independently of prediction interval for overall meta-analysis in printouts and forest plots
Bubble plot shows relative treatment effects on original scale instead of log scale and reference line is shown
Trim and fill, limit meta-analysis and Copas selection model objects can be used in function metabind()
New function longarm() to transform data from pairwise comparisons to long arm-based format
New auxiliary function labels.meta() to create study labels for forest plots in JAMA or Lancet layout
Printing of spaces in confidence intervals can be suppressed
Help page of forest.meta() updated
Use correct standard error to calculate prediction interval if Hartung-Knapp method was used
In forest plots, show correct degrees of freedom for test of effect in subgroups for Hartung-Knapp method
In update.meta(), consider input for arguments 'pscale', 'irscale' and 'irunit' for meta-analysis objects created with metagen()
arguments 'lab.e', 'lab.c', 'lab.e.attach.to.col' and 'lab.c.attach.to.col' renamed to 'label.e', 'label.c', 'label.e.attach' and 'label.c.attach'
forest.meta(), metabin(), metacont(), metacor(), metacr(), metagen(), metainc(), metamean(), metaprop(), metarate(), print.meta(), update.meta():
new argument 'prediction.subgroup'
metamerge():
first argument can be of class 'limitmeta' or 'copas'
bubble.metareg():
new arguments 'ref', 'col.ref', 'lty.ref' and 'lwd.ref' for reference line
settings.meta():
new global settings 'CIlower.blank' and 'CIupper.blank'
cilayout():
new list elements 'seTE.hakn' and 'seTE.hakn.adhoc' (with standard error for Hartung-Knapp method) and 'seTE.classic' for classic random effects inverse variance method
forest.meta():
new code to assign missing column labels
Internal function formatCI() considers values for 'lower.blank' and 'upper.blank' in cilayout()
New internal function catch() to catch value for an argument
Meta-analysis of continuous outcomes using Hedges' g or Cohen's d as summary measure resulted in inestimable SMDs in individual studies if the total sample size was larger than 343 and argument 'exact.smd' was TRUE (default)
Forest plot creation for meta-analysis of single means with subgroups resulted in an error
New internal function ciClopperPearson() to calculate confidence limits and p-value for exact binomial method
Exported list elements changed for internal functions ciAgrestiCoull(), ciSimpleAsymptotic() and ciWilsonScore()
Behaviour of print.meta() and print.summary.meta() switched (to be in line with other print and summary functions in R)
New default settings:
Print 'Common effect model' instead of 'Fixed effect model'
Default settings of meta, version 4 or lower, can be used with command settings.meta("meta4") - this does not change the new behaviour of print.meta() and print.summary.meta()
Renamed arguments:
Function gs() can be used to access internal settings
Store internal auxiliary functions in files meta-aux.R to meta-xlab.R
Forest plots of meta-analyses assuming a common between-study heterogeneity variance in subgroups resulted in an error (bug was introduced in meta, version 4.16-0)
For GLMMs, export Wald-type Q statistic for residual heterogeneity instead of missing value
set random effects weights equal to zero for estimates with standard errors equal to NA (to fix error bubble.metareg)
metareg():
print tau2 and tau for subgroups with single study if argument 'tau.common = TRUE'
bubble.metareg():
Subgroup analysis for three-level model fully implemented
New default for forest plots to show results of test for subgroup differences in meta-analyses with subgroups
Calculation of weights for three-level random effects model using weights.rma.mv() with argument 'type = "rowsum"' from R package metafor
Print study label provided by argument 'studlab' for meta-analysis with a single study
Total number of observations and events printed in summaries (if available)
treatment estimates for three-level models with subgroups were not based on common between-study variance despite argument 'tau.common = TRUE'
metareg():
new argument 'test.subgroup' to print results of test for subgroup differences
print.meta():
for three-level models, column with grouping information added to study details
metagen():
correct order of p-values for homogeneity tests within subgroups if argument 'bysort = TRUE'
calcH():
set H = 1 in calculation of confidence interval for H if H < 1 (i.e., if Q < k - 1)
metabias():
bug fix for linear regression tests using metafor, version 2.5-86
metabind():
argument '...' passed on to rma.uni()
metagen():
use correct variance formula for Glass' delta
metainc():
update command resulted in an error Arguments 'event.e' and 'n.e' must have the same length for meta-analysis with subgroups (due to list elements 'n.e.w' and 'n.c.w' which were interpreted as 'n.e' and 'n.c' containing missing values instead of being NULL)
print.meta():
use of argument 'details = TRUE' resulted in an error in meta-analyses with duplicated study labels
Consider argument 'adhoc.hakn' to calculate confidence intervals in random effects subgroup meta-analyses
column with information on subgroups added to details if argument 'details = TRUE'
forest.meta():
arguments 'text.fixed.w' and 'text.random.w' checked for correct length
Ad hoc variance correction for Hartung-Knapp method not available for GLMMs
get rid of warnings 'Unknown or uninitialised column' if argument 'subset' is used
subgroup():
new print layout providing more details
New dataset Pagliaro1992 for meta-analysis on prevention of first bleeding in cirrhosis (Pagliaro et al., 1992)
use name of first author to select test for funnel plot asymmetry instead of "rank", "linreg", "mm", "count", and "score" (can be abbreviated; old names are still recognised)
print.metabias():
inverse of square root of sample size can be plotted on y-axis (argument 'yaxis = "invsqrtsize"')
forest.meta():
consider input for argument 'hetstat' to print heterogeneity statistics for overall results (see argument 'overall.hetstat')
metabin(), metacont(), metacor(), metagen(), metagen(), metainc(), metamean(), metaprop(), metarate():
Three-level meta-analysis models can be fitted for generic and continuous outcomes (Van den Noortgate et., 2013) by calling rma.mv() from R package metafor internally
Measures I2 and H for residual heterogeneity are based on Q statistic for residual heterogeneity (instead of taken directly from metafor package)
Additional ad hoc method implemented if confidence interval of Hartung-Knapp method is smaller than classic random effects meta-analysis (Hybrid method 2 in Jackson et al., 2017)
For funnel plot of a diagnostic test accuracy meta-analysis, use effective sample size (Deeks et., 2005) by default on the y-axis
New function metamerge() to merge pooled results of two meta-analyses into a single meta-analysis object
Mantel-Haenszel method of risk differences did not use continuity correction in case of studies with a zero cell count (argument 'MH.exact = FALSE')
metabin(), metainc(), metaprop(), metarate():
for GLMMs, confidence limits for classic random effects meta-analysis were calculated instead of confidence limits for Hartung-Knapp if argument 'hakn = TRUE'
metabin(), metainc(), metaprop(), metarate():
works for GLMMs with zero events or number of events equal to number of patients in all studies
forest.meta():
print results for test of subgroup effect in correct order if argument 'bysort = TRUE'
read.rm5():
Do not print empty confidence intervals for heterogeneity statistics
metacont(), metagen(), update.meta():
new argument 'id' to specify which estimates belong to the same study (or laboratory) in order to use three-level model
metabind():
meta-analyses can use different methods, e.g., different estimators of the between-study variance
All meta-analysis functions:
argument 'adhoc.hakn = "ci"' uses the ad hoc method described in Jackson et al. (2017)
forest.meta():
do not print statistic for residual heterogeneity if argument 'tau.common = FALSE' was used to conduct subgroup meta-analysis
metainc():
square root transformed incidence rate difference added as new summary measure (sm = "IRSD")
New arguments 'text.fixed', 'text.random', 'text.predict', 'text.w.fixed' and 'text.w,random' in meta-analysis functions
settings.meta():
text for fixed effect and random effects model as well as prediction interval can be specified (arguments 'text.fixed', 'text.random', 'text.predict', 'text.w.fixed', 'text.w.randon')
print.meta(), print.summary.meta():
do not print information on continuity correction for exact Mantel-Haenszel method with single study
metareg() can be used in loops to provide argument 'formula'
New auxiliary function JAMAlabels() to create study labels in JAMA layout
Deeks' linear regression test for funnel plot asymmetry of funnel plots of diagnostic test accuracy studies implemented (Deeks et., 2005)
Effective sample size (Deeks et., 2005) can be used on y-axis of funnel plot
Discard infinite estimates and standard errors from calculation of heterogeneity measures
Diagnostic odds ratio (sm = "DOR") added as new effect measure in metabin() and metagen()
arguments 'digits.zval' and 'print.zval' renamed to 'digits.stat' and 'print.stat'
print.summary.meta(), settings.meta():
argument 'digits.zval' renamed to 'digits.stat'
metacr():
do not print a warning for inverse variance meta-analysis with binary outcome
Help page for tests of funnel plot asymmetry updated
Help pages for metabin() and metainc() updated
Median and related statistics can be used in meta-analysis with continuous outcomes to approximate means and standard deviations (Wan et., 2014; Luo et al., 2018; Shi et al., 2020)
RevMan 5 analysis datasets can be imported directly using the RM5-file
R package xml2 added to Imports (RM5-files are in XML-format)
Confidence intervals for individual studies can be based on quantile of t-distribution (only implemented for mean differences and raw untransformed means at the moment)
For the generic inverse variance method,
show all studies with estimable treatment effects if argument 'allstudies = FALSE'
metabind():
calculate correct p-value for within-subgroup heterogeneity test if input are subgroup analyses of the same dataset
metacum():
works with Hartung-Knapp method
metagen():
new argument 'debug' for debug messages while importing RM5-files directly
metacr():
overall results not shown if this was specified in the Cochrane review (only applies to imported RM5-files)
metagen(), metacont(), metamean():
new argument 'method.ci' to choose method for confidence intervals of individual studies (only applies to mean differences and raw untransformed means at the moment)
metacont():
new arguments to estimate mean and standard deviation from median and related statistics: 'median.e', 'q1.e', 'q3.e', 'min.e', 'max.e', 'median.c', 'q1.c', 'q3.c', 'min.c', 'max.c', 'method.mean', 'method.sd', 'approx.mean.e', 'approx.mean.c', 'approx.sd.e', 'approx.sd.c'
metamean():
new arguments to estimate mean and standard deviation from median and related statistics: 'median', 'q1', 'q3', 'min', 'max', 'method.mean', 'method.sd', 'approx.mean', 'approx.sd'
forest():
automatically format p-values for individual studies if added to forest plot using argument 'leftcols' or 'rightcols'
Datasets renamed from Fleiss93, Fleiss93cont and Olkin95 to Fleiss1993bin, Fleiss1993cont and Olkin1995
More sensible variable names in datasets Fleiss1993bin, Fleiss1993cont and Olkin1995
Previous R function read.rm5() for CSV-files renamed to read.rm5.csv()
New auxiliary functions extract_outcomes(), oct2txt() and read.rm5.rm5() to import RevMan 5 analysis datasets
ci():
list element 'z' renamed to 'statistic' as calculations can also be based on the t-distribution; list element 'z' is still part of the output for backward compatibility, however, could be removed in a future update
metagen():
list elements 'zval', 'zval.fixed' and 'zval.random' renamed to 'statistic', 'statistic.fixed' and 'statistic.random'; list elements 'zval', 'zval.fixed' and 'zval.random' are still part of the output for backward compatibility, however, could be removed in a future update
Internal functions TE.seTE.iqr.range(), TE.seTE.iqr() and TE.seTE.range() renamed to mean.sd.iqr.range(), mean.sd.iqr() and mean.sd.range()
mean.sd.iqr.range():
new arguments 'method.mean' and 'method.sd'
mean.sd.iqr(), mean.sd.range():
new argument 'method.mean'
chkchar(), chkcolor(), chklevel(), chknumeric():
Rely on generic functions from R package metafor, e.g., to produce forest or funnel plots (since R version 4.0.0 generic functions from an R package do not consider corresponding functions from another R package which can result in errors if R packages meta and metafor are both loaded)
R function funnel.default() removed from meta due to conflict with metafor
Sample size method for meta-analysis of binary data with the odds ratio as summary measure implemented (Bakbergenuly et al., 2020)
Ad hoc variance correction for Hartung-Knapp method in the case of very homogeneous study results implemented (Knapp and Hartung, 2003; IQWiG, General Methods: Draft of Version 6.0)
Default settings according to recommendations in General Methods of the Institute for Quality and Efficiency in Health Care (IQWIG), Germany
Do not use predict.rma() from metafor package to calculate prediction intervals for generalised linear mixed models
possible value for argument 'type' renamed from "cvalue" to "zvalue" as drapery plots show test statistics, not critical values
funnel.meta(), funnel.default():
argument 'log' is considered for relative summary measures, e.g., odds or risk ratio
metaprop():
can be used with non-integer number of events and sample sizes
metabias.meta(), metabias.default():
third component of list element 'estimate' renamed from "slope" to "intercept" for linear regression tests
settings.meta():
new possible general settings: "iqwig5" and "iqwig6", respectively
Use Markdown for NEWS
New arguments 'overall' and 'overall.hetstat' in meta-analysis functions to control printing of overall meta-analysis results (useful to only show subgroup results)
For GLMMs, use Wald-type Q statistic to calculate I2 of residual heterogeneity in meta-analysis with subgroups (instead of likelihood-ratio Q statistic)
For GLMMs with subgroups, conduct the correct test for subgroup differences (bug was introduced in meta, version 4.9-7)
summary.meta():
export the correct harmonic mean for fixed effect and random effects model (part of list elements 'fixed' and 'random')
metabind():
new defaults for arguments 'overall' and 'overall.hetstat' (which are now considered from meta-analysis objects)
print.summary.meta():
do not print a warning concerning argument 'Q.Cochrane' if argument 'sm = "ASD"' for meta-analysis objects created with metabin()
print.summary.meta():
argument checks implemented
baujat(), bubble():
Confidence intervals for the between-study variance tau2 and its square root tau are calculated
Print tau as well as confidence intervals for tau2 and tau in outputs
Square root of between-study variance can be printed in forest plots instead of between-study variance tau2; in addition, the confidence interval for tau2 or tau can be printed
Use R package metafor to estimate between-study variance tau2 for DerSimonian-Laird and Paule-Mandel method (which has been already used for all other methods to estimate tau2)
For Mantel-Haenszel (MH) method, report results as MH method (instead of inverse variance, IV) for meta-analysis of binary outcome with a single study (results are identical for MH and IV method in this situation)
Number of studies printed without digits in forest plots for R objects created with metabind()
P-values can be printed according to JAMA reporting standards
In subgroup analyses, print the group labels instead of levels if the grouping variable is a factor
In funnel plot, print funnel around random effects (instead of fixed effect) estimate if only random effects meta-analysis is conducted; only show funnel if either fixed effect or random effects meta-analysis was conducted
New preferred citation of R package meta: Balduzzi et al. (2019)
new argument 'JAMA.pval' to print p-values according to JAMA reporting standards
print.summary.meta():
global setting for 'text.tau2' as defined in settings.meta() is considered in details of meta-analytical method
print.meta():
do not print (missing) weights for GLMMs
update.meta():
add information on variable defining subgroups (argument 'byvar') to meta-analysis dataset
Command 'settings.meta("JAMA")' will change the settings for arguments 'zero.pval' and 'JAMA.pval'
Help page with description of R package updated
Major update of other help pages:
Function paulemandel() removed as R package metafor is used to estimate the between-study variance
formatPT():
new argument 'JAMA'
List elements 'C' and 'C.w' (scaling factor to estimate common between-study variance) removed from meta-analysis objects
Import confint.rma.uni() from metafor to calculate confidence intervals for tau2 and tau
New internal function pasteCI() to print formatted CIs
New internal function is.wholenumber() to check for whole numbers
no error if argument 'tau.common' is TRUE for GLMM
metabin(), metainc(), metarate():
New functions to calculate the number needed to treat from the results of a meta-analysis
Equivalence limits can be added to forest plots
Font family can be specified in forest plots
Print Wald-type test of heterogeneity for generalised linear mixed models (problem fixed in R package metafor, version 2.1-0)
no error if additional numeric variable is added to the right side of the forest plot (argument 'rightcols')
summary.meta():
consider argument 'bylab'
metaprop():
new argument 'fontfamily' to specify the font family
forest.metabind():
set upper confidence limit to 1 for values above 1
subgroup meta-analyses return new list element 'pval.Q.w'
sample size, median, interquartile range and / or range (Wan et al. (2014), BMC Med Res Meth, 14, 135)
New functions for the conversion of effect measures:
or2smd() - from log odds ratio to standardised mean difference
Harbord test for funnel plot asymmetry implemented for risk ratio as effect measure
Generalised linear mixed model is the new default method for meta-analysis of single proportions using the logit transformation
R packages metafor and lme4 moved from Suggests to Imports
Suppress printing of Wald-type test of heterogeneity for generalised linear mixed models (problem in R function rma.glmm() from R package metafor, version 2.0-0)
Use roxygen2 for development of R package meta
new arguments 'pval', 'df', 'lower', 'upper', 'level.ci', 'median', 'q1', 'q3', 'min', 'max', 'approx.TE', 'approx.seTE' to approximate treatment estimates and / or standard errors from other information
forest.meta():
new arguments 'type.subgroup.fixed', 'type.subgroup.random', and 'lab.NA.weight'
settings.meta(), gs():
argument names can be abbreviated
Major update of help pages of metagen() and metaprop()
consider argument 'method' for meta-analysis objects created with metaprop() or metarate()
forest.meta():
argument 'studlab' can be used with objects created with metacum() or metainf()
subgroup():
New internal functions TE.seTE.ci(), TE.seTE.iqr(), TE.seTE.iqr.range(), TE.seTE.range(), and seTE.ci.pval() to approximate treatment estimates or standard errors from other information
setchar():
new argument 'stop.at.error'
metagen():
new argument 'control' (see major changes)
forest.meta():
argument 'tau.common' only considered for subgroup analyses
hetcalc():
argument 'control' passed on to R function rma.uni() from R package metafor
metacum(), metainf(), subgroup():
Subgroup results consider the exclusion of individual studies (bug fix)
For generalised linear mixed models, between-study variance set to NA if only a single study is considered in meta-analysis
use of argument 'byvar' for subgroup analyses possible
metacor(), metamean(), metaprop(), metarate():
use as input to metabind() possible
Internal function subgroup():
consider argument 'exclude' in subgroup analyses
Internal function bylevs():
print information on increments added to calculate confidence intervals for individual studies (for metarate() with GLMM)
funnel.meta():
new arguments 'ref.triangle', 'lty.ref', 'lwd.ref', 'col.ref', and 'lty.ref.triangle' to add reference value (null effect) and corresponding confidence intervals to the funnel plot
metabin():
new argument 'pscale' to change printout of risk differences
metainc():
new arguments 'irscale' and 'irunit' to change printout of incidence rate differences
forest.meta(), print.meta(), print.summary.meta(), update.meta():
consider arguments 'pscale', 'irscale', and 'irunit' for meta-analysis objects created with metabin() and metainc()
print.meta():
for random effects model, rma.glmm() from package metafor is called internally with argument 'method = "FE"' if only a single study is available
metareg():
for generalised linear mixed models, fallback to fixed effect model if number of studies is too small for random effects meta-regression
asin2ir():
back transformation could result in (very small) negative zero values due to imprecisions (-1e-19); these values are set to zero now
subgroup():
code for metamean() added
chkchar():
new argument 'nchar' to test the length of character string(s)
New internal function is.untransformed() to check for effect measures without (back) transformation
New function metamean() to conduct meta-analysis of single means
New function metabind() to combine meta-analysis objects, e.g. to generate a forest plot with results of several subgroup analyses
Subgroup analysis implemented for generalised linear mixed models (GLMMs) with and without assumption of common between-study variance (arguments 'byvar' and 'tau.common')
Axis direction can be reversed for x-axis in forest plots
Source code version of meta can be installed without compilation, i.e., without use of Rtools on Windows or 'Command-line tools for Xcode' on macOS
Rank test for funnel plot asymmetry uses cor() from R package stats instead of internal C routine (negligibly slower, however, no need for compilation of source installs)
Thousands separator can be used in printouts and forest plots for large numbers
P-values equal to 0 are actually printed as "0" instead of "< 0.0001"
new argument 'big.mark' to specify character printed as thousands separator, e.g., big.mark = "," will result in printing of "1,000" instead of "1000"
forest.meta():
bug fix: argument 'type.study' will be sorted according to arguments 'sortvar'
metaprop():
arguments 'byvar' and 'tau.common' can be used for GLMMs
Help page with overview of R functions in R package meta updated
is.mean() to check whether summary measure refers to meta-analysis of single means
Renamed internal functions:
formatPT() instead of format.p()
Removed R functions:
C program kenscore.c as cor() from R package stats is used instead to calculate Kendall's tau
Check whether argument 'sm' is NULL in meta-analysis functions
subgroup(): extended for GLMMs
formatPT():
NaNs are handled like NAs
bylabel(), catmeth(), formatPT(), formatN(), xlab():
works if covariate in metareg() is not part of dataset used to generate meta-analysis object
forest.meta():
lines for treatment effect in fixed effect and random effects model always start in center of diamond
metacum(), metainf():
argument 'model.glmm' considered for metabin() and metainc() objects
print.summary.meta():
print transformed null effect for meta-analysis of single correlations, proportions, or rates if argument 'backtransf = FALSE', i.e., for metacor(), metaprop(), and metarate() objects
trimfill.meta():
New internal functions is.cor(), is.prop() and is.rate() to check whether summary measure refers to meta-analysis of correlations, proportions, or rates
metabias.default(), radial.default(), trimfill.default():
Similar to RevMan 5, individual studies can be excluded from meta-analysis, however, will be shown in printouts and forest plots
In forest plots, line spacing can be determined by the user
new argument 'exclude' to exclude studies from meta-analysis
forest.meta():
bug fix for for meta-analysis with standardized mean difference (sm = "SMD") and argument 'layout = "RevMan5"'
R function ci() can be used with vectors or matrices of treatment estimates and standard errors and a single value for argument 'df', i.e., degrees of freedom (which is used in R package netmeta to calculate prediction intervals for network meta-analysis estimates)
metacum(), metainf():
Calculate confidence interval for I2 in a meta-analysis with two studies if the heterogeneity statistic Q is larger than 2
P-values can be printed in scientific notation
In forest plots, printing of z-values can be disabled and labels for tests can be changed by user
forest plot without any study contributing to meta-analysis can be generated without an error, e.g., meta-analysis with binary outcome, sm="OR", and all event numbers equal to zero
print.meta() and print.summary.meta():
new arguments 'print.pval' and 'print.pval.Q' to specify number of significant digits for p-values
R command 'help(meta)' can be used to show brief overview of R package meta
Substantially decrease number of automatically run examples for forest.meta() as CRAN only allows a run time below 10 seconds for examples provided on a help page
new internal function pvalQ() to calculate p-value from heterogeneity tests
calcH():
Calculate confidence interval for H in a meta-analysis with two studies if the heterogeneity statistic Q is larger than 2 (this confidence interval is used in isquared() to calculate a confidence interval for I2)
hetcalc():
heterogeneity statistic Q set to 0 for a single study contributing to the meta-analysis (sometimes in this case Q was set to a value below 1e-30)
subgroup():
list element 'df.Q.b' set to 0 if number of studies in meta-analysis is 0
format.p():
new argument 'lab.NA' to change value printed for NAs
forest.meta() and print.summary.meta():
argument 'incr' can be of same length as number of studies in meta-analysis
metaprop():
bug fix to calculate test for an overall effect
forest.meta():
by default, label on x-axis and text on top of forest plot are printed in center of forest plot (arguments 'xlab.pos', 'smlab.pos')
print.summary.meta():
print number of studies for fixed effect meta-analysis using Mantel-Haenszel method if different from number of studies in random effects model (only if summary measure is "RD" or "IRD" and at least one study has zero events)
metainc():
act on NOTE in CRAN checks with R version, 3.4.0, to register and declare native C routine 'kenscore'
metabin(), metainc():
new list element 'k.MH' with number of studies in meta-analysis using Mantel-Haenszel method
forest.meta():
cleaning / shortening of R code
new auxiliary R functions used in forest.meta():
add.label(), add.text(), add.xlab(), draw.axis(), draw.ci.square(), draw.ci.diamond(), draw.ci.predict(), draw.forest(), draw.lines(), formatcol(), removeNULL(), tg(), tgl(), twolines(), wcalc()
hetcalc(), calcH():
set heterogeneity statistics tau2, H and I2 to NA if only a single study contributes to meta-analysis
updateversion():
Null hypothesis for test of an overall effect can be specified for metacor(), metagen(), metaprop(), and metarate(); for all other meta-analysis functions implicit a null effect of zero is assumed (for relative effect measures, e.g., odds ratio and hazard ratio, the null effect is defined on the log scale)
User can choose whether to print the following heterogeneity quantities: I^2, H, Rb (by default, heterogeneity measure Rb is not printed and thus revoking a change in meta, 4.7-0)
In forest plots with subgroups, study weights are summed up to 100 percent within each subgroup if no overall estimates are requested, i.e., argument 'overall = FALSE' (like before, by default, weights are not printed if argument 'overall = FALSE' and have to be explicitely requested using argument 'leftcols' or 'rightcols')
bug fix: do not stop with an error if 'comb.fixed = FALSE', 'comb.random = FALSE', and 'overall.hetstat = TRUE'
ci(), metacor(), metagen(), metaprop(), metarate():
new argument 'null.effect' to specify null hypothesis for test of an overall effect, e.g., null.effect = 0.5 in metaprop() to test whether the overall proportion is equal to 0.5
metagen():
Hartung-Knapp method only used for at least two studies in meta-analysis
print.meta():
print covariate with subgroup information for each study, if subgroup analysis is conducted (argument 'byvar')
print.summary.meta():
print results for (empty) subgroup in meta-analysis with two studies and one subgroup with missing treatment estimate
settings.meta():
labels can be printed at top of forest plot
Measure of between-study heterogeneity added:
R_b (Crippa et al. (2016))
Default settings of meta-analysis methods specified via gs() instead of extracting elements of list .settings (which makes output of args() easier to read, e.g., args(metabin))
Version of suggested R package metafor must be at least 1.9-9 (due to change in arguments of rma.uni() and rma.glmm())
unnecessary arguments removed: 'text.I2', 'text.tau2'
metabin(), metacont(), metacor(), metacr(), metacum(), metagen(), metainc(), metainf(), metaprop(), metarate(), trimfill.default(), trimfill.meta():
new measure of between-study heterogeneity implemented (list elements 'Rb', 'lower.Rb', 'upper.Rb')
summary.meta():
new measure of between-study heterogeneity added (list element 'Rb.w')
print.meta(), print.summary.meta():
print heterogeneity measure Rb
metabias.meta(), metabias.default():
checks for arguments implemented
New function gs() to get default settings
forest.meta(), metabin(), metacont(), metacor(), metacr(), metagen(), metainc(), metaprop(), metarate(), print.meta(), print.summary.meta():
use gs() to define defaults for arguments in meta-analysis functions, e.g. gs("hakn") instead of .settings$hakn
metareg():
stop with an error if version of metafor package is below 1.9-9
metabin(), metainc(), metaprop(), metarate():
for GLMMs, stop with an error if version of metafor package is below 1.9-9
metabin():
bug fix, do not stop with an error if no double zero events are present in a dataset with at least one study with NA event counts
metareg():
bug fix, use of covariate 'x' does not result in an error
settings.meta():
function can be used to change the layout of confidence intervals using arguments 'CIbracket' and 'CIseparator' which can also be set using cilayout()
Several help pages updated, especially
use argument 'test' instead of 'knha' and 'tdist' for calls of rma.uni() and rma.glmm(); change in R package metafor, version 1.9-9
subgroup():
new measure Rb of between-study heterogeneity implemented
is.installed.package():
use requireNamespace() instead of installed.packages()
format.p():
new argument 'zero' to print ".001" instead of "0.001", etc
meta-internal():
New function metarate() to conduct meta-analysis of single incidence rates
Peters' test for funnel plot asymmetry implemented for meta-analysis of single proportions
Meta-analysis of ratio of means added to metacont()
Justification of additional columns in forest plot can be specified individually for each additional column
Justification of additional columns in forest plot can be specified individually for each additional column
Calculation of Freeman-Tukey double arcsine transformation and back transformation slightly changed in meta-analysis of single proportions
By default, do not print a warning if back transformation for metaprop() and metarate() objects results in values below 0 or above 1 (only for proportions); note, respective values are set to 0 or 1
Help page with brief overview of meta package added
Preferred citation of meta package in publications changed; see output of command 'citation("meta")'
forest.meta(), metagen(), print.meta(), print.summary.meta(), summary.meta(), trimfill.default(), trimfill.meta(), update.meta():
new arguments 'irscale' and 'irunit' for meta-analysis objects created with metarate()
settings.meta():
new arguments 'smrate' for meta-analysis objects created with metarate()
funnel.meta(), funnel.default():
new argument 'pos.studlab' to change position of study labels
forest.meta():
new arguments 'just.addcols.left' and 'just.addcols.right' to specify justification of additional columns on left and right side of forest plot
metacont():
new argument 'backtransf' for ratio of means (argument 'sm = "ROM"')
metaprop():
change in Freeman-Tukey double arcsine transformation only visible in printouts if argument 'backtransf = FALSE' or if list elements 'TE', 'TE.fixed', and 'TE.random' (as well as confidence intervals) are extracted from a metaprop object
print.summary.meta():
bug fix in subgroup() to print correct results for subgroup analyses of metaprop objects with argument 'sm = "PFT"'
print.meta(), print.summary.meta():
new argument 'warn.backtransf' to specify whether a warning should be printed if backtransformed proportions and rates are below 0 and back transformed proportions are above 1
Help pages updated:
New function asin2ir() to back transform arcsine transformed incidence rates
backtransf(), catmeth(), metacum(), metainf(), subgroup(), xlab():
extension to handle meta-analysis objects created with metarate()
metaprop(), asin2p():
calculation of Freeman-Tukey double arcsine transformation changed to get similar estimates as arcsine transformation, i.e. multiply values by 0.5
subgroup():
printing of test for treatment effect in subgroups possible
New function weights.meta() to calculate absolute and percentage weights in meta-analysis
New argument 'byseparator' to define the separator between label and subgroup levels which is printed in meta-analysis summaries and forest plots - considered in all R functions dealing with meta-analysis and subgroups
Argument 'pscale' - a scaling factor for printing of single event probabilities - considered in all R functions for single proportions; before this update, argument 'pscale' was only available in forest.meta()
bug fix to consider arguments 'lab.e.attach.to.col' and 'lab.c.attach.to.col' for metagen() objects
metabin(), metacont(), metacor(), metagen(), metainc(), metaprop(), forest.meta(), print.summary.meta(), summary.meta(), update.meta(), settings.meta():
new argument 'byseparator'
metagen(), metaprop(), print.meta(), print.summary.meta(), summary.meta(), trimfill.meta(), trimfill.default(), update.meta():
new argument 'pscale'
labbe.metabin(), labbe.default():
line for null effect added by default; see arguments 'nulleffect', 'lwd.nulleffect', 'col.nulleffect'
metabin(), metainc(), metaprop():
print note for GLMM method that continuity correction is only used to calculate individual study results
Help pages updated:
New function bylabel() to print subgroup labels
update.meta():
do not consider columns 'n.e' and 'n.c' as sample sizes for metagen() or metainc() object if not used in original call
catmeth(), xlab():
new argument 'pscale'
catmeth():
for GLMM, print information that continuity correction is only used to calculate individual study results
metacum(), metainf():
list element 'pscale' added
metabin():
print warning that no continuity correction is used for Peto method if any of the following arguments is used: 'incr', 'allincr', 'addincr', 'allstudies'
metacr():
keep dataset used to conduct meta-analysis in list element 'data'
paulemandel():
bug fix for error if used with a single study
settings.meta():
Generalised linear mixed models (GLMMs) implemented by internal call of rma.glmm() from R package metafor by Wolfgang Viechtbauer
R packages lme4, numDeriv, and BiasedUrn added to suggested packages which are required by rma.glmm()
Print layout (especially number of printed digits) slightly modified which impacts output from print.meta(), print.summary.meta(), and forest.meta()
New arguments to change number of digits in printouts and forest plots
some arguments can be used for other meta-analysis methods than inverse variance method: 'method.tau', 'hakn', 'tau.common', 'TE.tau, 'tau.preset'
metabin():
check whether R package BiasedUrn is installed for conditional hypergeometric-normal GLMM (method = "GLMM", model.glmm = "CM.EL")
forest.meta():
argument 'labels' can be used instead of argument 'label' to change labels on x-axis
funnel.meta():
print default labels on y-axis with capital first letter
metareg() and update.meta():
extension for meta-analysis based on GLMM
print.meta():
argument '...' passed on to internal call of print.summary.meta()
print.summary.meta():
print Wald-type and Likelihood-Ratio heterogeneity test for GLMMs
settings.meta():
check whether R packages required for GLMMs are available (if method = "GLMM"): metafor, lme4, numDeriv
Help pages updated: metabin(), metainc(), metaprop(), metareg(), forest(), print.meta(), print.summary.meta(), settings.meta(), update.meta()
New function format.NA() to print other text than "NA" for missing values
metagen():
only call paulemandel() if heterogeneity statistic Q is larger equal than number of studies minus 1 (otherwise between-study heterogeneity tau2 is set equal to 0)
metabin(), metainc(), metaprop(), summary.meta():
new list elements 'model.glmm', '.glmm.fixed', '.glmm.random', 'version.metafor'
metabin(), summary.meta():
new list element 'doublezeros' for odds ratio or risk ratio as summary measure
Set defaults for arguments 'model.glmm', 'digits', 'digits.se', 'digits.zval', 'digits.Q', 'digits.tau2', 'digits.H', 'digits.I2', 'digits.prop', 'digits.weight', 'digits.pval', 'and digits.pval.Q'
paulemandel():
maximum number of iterations increased from 25 to 100
format.p():
print trailing zeros
catmeth():
print information whether studies with double zeros are included in meta-analysis
is.installed.package():
bug fix to calculate correct treatment estimates for individual studies for Glass's delta
metaprop():
new arguments 'test.overall' and 'test.subgroup' controlling whether information on test for overall effect and heterogeneity should be printed
Internal function paulemandel():
do not stop estimation algorithm if estimated tau2 is negative
settings.meta():
bug fix for error if used with an unassigned argument
format.p(), format.tau():
new argument 'digits' to round p-values and tau2 values
chkchar(), chkclass(), chklength(), chklevel(), chklogical(), chkmiss(), chknull(), chknumeric(), setchar():
new argument 'name' to change name of checked argument in printout
Help page of forest.meta() updated
allow missing values in numbers of events or patients (corresponding studies get zero weight in meta-analysis)
forest.meta():
bug fix for error if random effects estimate is missing
metareg():
bug fix to conduct fixed effect meta-regression (argument 'method.tau = "FE"')
metabin():
use inverse variance instead of Mantel-Haenszel method if only a single study has a non-missing treatment estimate or standard error
settings.meta():
code added for new arguments in forest.meta() to print information on tests
Help pages of metareg() and forest.meta() and link to RevMan webpage updated
Copyright changed (new names for Institute and Medical Center)
metacont():
use formula from Borenstein et al. (2009) to calculate standard error for Cohen's d
forest.meta():
new argument 'print.I2.ci' to print confidence intervals for I2
forest.meta(), print.meta, print.summary.meta():
prediction interval can be printed if random effects estimate is not shown
settings.meta(), catmeth(), update.meta():
code added for new argument 'exact.smd' in metacont()
ci(), kentau():
calculate p-values without floating point number representation problems, e.g., the command ci(9, 1) does not result in a p-value of 0 but 2.257177e-19
Several help pages updated to reflect changes in metacont() and RevMan 5 reference
Title of R package changed
metacont():
new argument 'sd.glass' to choose the denominator for Glass' delta
update.meta():
new arguments 'method.smd' and 'sd.glass' added
summary.meta():
information for new arguments 'method.smd' and 'sd.glass' added to summary.meta object
settings.meta():
code added for new arguments 'method.smd' and 'sd.glass' in metacont()
forest.meta():
bug fix for staggered point estimates in metaprop() object with subgroups
metagen():
bug fix to give studies with missing treatment effect but available standard error zero weight in meta-analysis
paulemandel():
only consider studies without missing treatment effect and standard error in calculation of between-study variance
chklevel():
print meaningful error message if confidence limit is outside the range [0, 1]
catmeth():
print information on method to estimate standardised mean difference in metacont()
Help pages updated for metacont() and update.meta()
argument 'sm = "ASD"' for arcsine difference instead of 'sm = "AS"' (abbreviations 'sm = "AS"' and 'sm = "A"' can still be used)
metabin(), metacont(), metacor(), metagen(), metainc(), and metaprop():
This update has been declared as major revision as R code to conduct subgroup analyses has been moved from summary.meta() and forest.meta() to metabin(), metacont(), metacor(), metagen(), metainc(), and metaprop(). Accordingly, an R object generated with these functions contains all results from subgroup analyses.
In the case of subgroups, the overall treatment effect in fixed effect and random effects meta-analysis ignores subgroup membership. See Borenstein et al. (2011), Introduction to Meta-Analysis, Wiley, Chapter 19, "Obtaining an overall effect in the presence of subgroups, Option 3.
Furthermore, several checks of function arguments have been implemented in version 4.0-0 of meta.
Function addvar() removed from R package meta as functionality is provided by forest.meta()
forest.meta():
subgroup results printed with the same polygon height as overall results, i.e. percentage weight is not considered to determine polygon height for subgroups
bubble.metareg():
bug fix for error in meta-regression using specific effect measure, e.g. 'sm = "RR"', "OR", or "HR"
New internal R functions:
setchar(), setstudlab()
format.p(), format.tau(), catmeth(), print.summary.meta():
consider settings for option 'OutDec' (character used as decimal point in output conversions), e.g., options(OutDec = ",") will print "1,0" instead of "1.0"
print.meta(), print.summary.meta():
print 'p-value' instead of 'p.value'
print.summary.meta():
remove code for R objects created with version 2.0-0 or lower of meta
Several help pages updated
new argument 'backtransf' indicating whether effect measures should be back transformed
print.meta(), print.summary.meta():
argument 'logscale' replaced by 'backtransf'
print.summary.meta(), forest.meta():
print prediction interval for Freeman-Tukey double arcsine transformation (sm = "PFT")
forest.meta():
consider prediction interval to calculate limits on x-axis if argument 'prediction = TRUE'
bubble.metareg():
new argument 'regline' indicating whether regression line should be added to plot
settings.meta():
list with previous settings can be provided as sole input
New functions:
is.relative.effect() to check for relative effect measures
File DESCRIPTION:
R package grid defined as Imports instead of Depends
Help pages updated to reflect changes in version 3.8-0
argument 'sortvar' works without reference to meta-analysis object, e.g., command forest(meta1, sortvar = TE) can be used instead of forest(meta1, sortvar = m1$TE)
Help page of forest.meta():
list elements 'zval.fixed', 'pval.fixed', 'zval.random' and 'pval.random' set to NA
New internal functions:
estimate.missing() used in trimfill.meta() and trimfill.default()
metacont():
new argument 'pooledvar' to conduct meta-analysis of mean differences based on pooled variance for individual studies
update.meta():
new list element 'call.object' with call used to generate meta-analysis object
as.data.frame.meta(), baujat.meta(), forest.meta(), funnel.meta(), labbe.metabin(), metacum(), metainf(), print.meta(), summary.meta, trimfill.meta():
call update.meta() to update meta-analysis objects created with meta, version < 3.7
metabin(), metacont(), metacor(), metagen(), metainc(), metaprop(), trimfill.default(), trimfill.meta():
new list elements 'lower', 'upper', 'zval' and 'pval' with confidence limits, z- and p-values for individual studies
print.meta(), print.summary.meta():
print information on method used for confidence intervals of individual studies
metacum(), metainf():
consider argument 'pooledvar' for metacont() objects
metabin(), metacont(), metacor(), metagen(), metainc(), metaprop():
study labels will only be converted to characters for factor variables
Help pages
bubble(), bubble.metareg() for bubble plot to display the result of a meta-regression
metareg():
new list element '.meta' with meta-analysis object used in function call
update.meta():
argument 'studlab' fully functional (bug was introduced in meta, version 3.2-0)
print.meta():
print study label for a single study in meta-analysis if argument 'details = TRUE'; data.frame()) instead of cbind() used internally
New internal function is.installed.package() replaces is.installed.metafor()
Help pages datasets amlodipine and cisapride:
execute examples for Hartung-Knapp method
Help pages merged:
inverse variance method used instead of Mantel-Haenszel method if argument 'tau.common = TRUE'
metareg():
tilde sign not necessary in argument 'formula' to make this function more user friendly
forest.meta():
print common tau2 for subgroups if argument 'tau.common = TRUE' in meta-analysis object
metagen():
DerSimonian-Laird method used instead of Paule-Mandel method if argument 'tau.common = TRUE'
metacor(), metainc(), and metaprop():
store value of arguments 'title', 'complab', and 'outclab' in meta-analysis object
Some help pages (slightly) updated
New R function settings.meta() to define and print default settings for meta-analyses in R package meta
metagen():
Paule-Mandel method to estimate between-study variance implemented using new internal function paulemandel() which is based on mpaule.default() from R package metRology by S.L.R. Ellison (Author of mpaule.default() is S. Cowen with amendments by S.L.R. Ellison)
metacont():
studies with missing treatment estimate get zero weight in meta-analysis
metabin(), metacont(), metacor(), metacr(), metagen(), metainc(), metaprop():
default values changed according to settings.meta()
metareg():
use argument 'method.tau = "REML"' if this argument is equal to "PM" for meta-analysis object
Several help pages updated
string "byvar" is used as default label for grouping variable if argument 'bylab' is not provided
metareg():
variable '.byvar' used instead of 'byvar' to reflect change in list element 'data'
update.meta():
variables '.TE', ... used internally instead of TE, ... to reflect change in list element 'data'
trimfill.default(), trimfill.meta():
heterogeneity statistics I2 and H added to R object
metagen():
bug fix to correctly calculate weights (list elements 'w.fixed' and 'w.random') if any standard error is missing or zero for the Hartung-Knapp method (argument 'hakn = TRUE') or the DerSimonian Laird method is not used (argument 'method.tau' not equal to "DL")
summary.meta():
subgroup analysis implemented for metainc() objects
forest.meta():
groups will not be sorted automatically in alphabetical order (new argument 'bysort'). Use argument 'bysort = FALSE' to get the old behaviour of forest.meta()
forest.meta(), summary.meta():
only (re)calculate heterogeneity statistics (Q, tau2, I2) for R objects generated with older versions of R package meta
catmeth():
new argument 'tau.preset' to print information if between-study variance was pre-specified
print.meta(), print.summary.meta():
argument 'tau.preset' used in catmeth()
New internally used functions isquared() and calcH()
Some help pages updated
New R function metainc() for meta-analysis of incidence rates
Continuity correction:
instead information on continuity correction is given under "Details on meta-analytical method" if a corresponding meta-analysis object is printed
forest.meta(), funnel.default(), funnel.meta(), print.meta(), print.summary.meta(), update.meta(), catmeth(), xlab():
properly handle R objects of class "metainc"
metaprop():
use correct variable names for 'event' and 'n' in list element 'data' if metaprop() is called without argument 'data'
metabin():
bug fix for error if argument 'tau.common = TRUE' and 'method = "MH"'
catmeth():
print information on continuity correction for objects of class "metabin", "metaprop", and "metainc"
summary.meta():
fixed effect and random effects estimates and confidence intervals are only (re)calculated for R objects created with meta, version < 2 if argument 'level.comb' has not been used
trimfill.meta(), trimfill.default():
new list elements 'lower.fixed', 'upper.fixed', 'zval.fixed', 'pval.fixed', 'lower.random', 'upper.random', 'zval.random', 'pval.random' added to trimfill() object (bug was introduced in meta, version 2.0-0)
New datasets smoking and lungcancer as examples for metainc()
This update has been declared as major revision as the user interface changed by dropping some arguments: - print.meta(), forest.meta(), summary.meta(): 'level', 'level.prediction' - print.meta(), forest.meta(), metainf(), metacum(): 'level.comb' - in forest.meta(), summary.meta(): 'byvar'
This functionality is now provided by update.meta().
New function update.meta() to update an existing meta-analysis object created with metabin(), metacont(), metagen(), metaprop(), or metacor()
New function cilayout() to change layout of confidence intervals
Deprecated function plot.meta() removed
metabin(), metacont(), metagen(), metaprop(), metacor():
code cleaning for new R function update.meta()
metabin(), metacont(), metagen(), metaprop(), metacor(), summary.meta():
new list components:
metareg():
any column from original dataset (list element 'data') can be used in meta-regression
trimfill.meta():
new list elements (depending on class of meta-analysis object used in function call):
trimfill.default():
only calculate random effects estimate by default
metacr():
new list elements 'event.e', 'n.e', 'event.c' and 'n.c' for Peto O-E method
metaprop():
new list element 'incr.event'
forest.meta():
bug fix for error if (i) the effect measure is equal to RR, OR, or HR and (ii) argument 'label' is not a logical value
print.summary.meta():
print "0" instead of "< 0.0001" if between-study heterogeneity is zero
New function format.tau() to print "0" instead of "< 0.0001" if tau2 is zero
p.ci():
new arguments 'bracket.left', 'separator' and 'bracket.right' for more flexible confidence interval layouts
Several help pages updated
new argument 'just.studlab' to change justification of study labels
print.meta():
print correct information on method to calculate approximate confidence interval for metaprop() with a single study
trimfill.meta():
new arguments 'level' and 'level.comb' for confidence interval of single studies or meta-analysis
trimfill.meta(), trimfill.default():
new arguments 'prediction' and 'level.predict'
forest.meta():
heterogeneity statistics are only shown if results for fixed effect or random effects model are plotted
metagen(), metabin(), metacont(), metaprop(), metacor():
list elements 'comb.fixed', 'comb.random', and 'prediction' are set to FALSE for a single study
print.meta(), print.summary.meta():
new argument 'logscale' to print results for summary measures "RR", "OR", "HR", or "PLN" on logarithmic scale
Several help pages updated
new list elements 'incr', 'allincr' and 'addincr' added (bug was introduced in meta, version 1.5-0)
print.meta():
new arguments 'prediction' and 'level.predict' to print prediction interval for a new study
forest.meta(), print.summary.meta():
only print warnings in internal call of asin2p() if result for fixed effect, random effects model or prediction interval are printed
asin2p():
new argument 'warn' to only print warnings for meta-analysis results
Example to generate forest plot added to help pages of metabin(), metacont(), metacor(), metacr(), metagen(), metaprop()
help pages updated accordingly
metaprop():
deprecated argument 'freeman.tukey' removed
summary.meta():
correct values for list elements 'incr', 'allincr', and 'addincr' used in calculations for metaprop() objects
forest.meta():
information on confidence limit printed for pooled estimates if CI level is different from CI level for individual studies
print.summary.meta():
new list element 'tau.common'
catmeth():
results for fixed effect and random effects models only (re)calculated for meta-analysis objects created with meta, version < 2
metabin():
arguments 'colgap.forest.left' and 'colgap.forest.right' considered instead of only 'colgap.forest'
labbe.metabin(), labbe.default():
bug fix for error if any event probability is equal to NA
format.p():
standard error is positive for studies with all events in both groups (see Hartung & Knapp (2001), Stat Med, equation (18))
forest.meta():
correct back transformation of Freeman-Tukey Double arcsine transformation for metacum() and metainf() objects
asin2p():
values outside the admissible range are set to the boundary values [0, 1]; a warning is printed in this casea
Help pages:
bug fix for error if argument 'method.tau' is different from the default (error message: 'Error in sqrt(W) %*% X : non-conformable arguments')
forest.meta():
list element 'k0' added to trim-and-fill object
print.summary.meta():
new arguments 'hakn' and 'method.tau'
metacum(), metainf():
add class "trimfill" for trim-and-fill objects
catmeth(), print.meta(), print.summary.meta():
print information on trim-and-fill method
metabias.meta(), funnel.meta():
print error message if used with metacum() or metainf() object
funnel.meta():
use different plot symbols (argument 'pch') for trimfill() object
.onLoad():
version nummer of meta is printed when library is loaded
Help pages:
variance estimate for log- and logit-transformation is based on Pettigrew et al. (1986)
Reference Pettigrew et al. (1986) added to help pages for metabin() and metaprop()
R package meta linked to R package metafor to provide additional statistical methods, e.g. meta-regression and other estimates for tau2 (REML, ...)
p2logit() internal function
metabin(), metacont(), metagen():
new arguments 'label.left' and 'label.right' to add label on left or right side of forest plot
metabin(), metacont(), metacor(), metagen(), metaprop():
argument 'warn = FALSE' suppresses additional warning messages
metabin():
studies are excluded from meta-analysis if (event.e > n.e | event.c > n.c) or (n.e <= 0 | n.c <= 0) or (event.e < 0 | event.c < 0)
metacum(), metainf():
argument 'level' removed
metaprop():
correct variance 1 / (n + 0.5) instead of 1 / (n + 1) is used for the Freeman-Tukey double arcsine transformation (argument 'sm = "PFT"')
asin2p():
back transformation of Freeman-Tukey proportions according to Miller (1978) - see help page of metaprop()
print.metabias():
print a warning if number of studies is too small to conduct a test for funnel plot asymmetry
print.summary.meta():
invisible(NULL) returned for metacum() and metainf() objects
metacr():
return NULL if no data is available for selection of arguments 'comp.no' and 'outcome.no'
read.rm5():
changed substantially for reading of RevMan 5.1 files
summary.meta():
argument 'warn = FALSE' suppresses additional warning messages
forest.meta():
'overall.hetstat' to show heterogeneity information for overall effect
funnel.default(), funnel.meta():
arguments 'col.fixed' and 'col.random' are recognised
metabias.default(), metabias.meta():
new argument '...' (ignored at the moment)
trimfill.default(), trimfill.meta():
return 'invisible(NULL)' if number of studies is smaller than 3
New datasets: amlodipine, cisapride
File FLEISS93.MTV moved from directory data to directory extdata
Several help pages updated
Some new help pages added
transformed proportions are printed for individual studies in column 'TE' if metagen() is used with argument 'sm' equal to either "PLN", "PLOGIT", "PAS", or "PFT"
as.data.frame.meta():
new argument '...'
addvar():
additional checks for situations with duplicate entries for columns 'by.x' and 'by.y' added
print.meta():
back transformed proportions are printed for individual studies if metagen() is used with argument 'sm' equal to either "PLN", "PLOGIT", "PAS", or "PFT"
Examples in help pages (slightly) updated:
symmetric forest plots can be produced by setting argument 'xlim = "s"'
print.summary.meta():
for subgroup analyses (i.e. groups defined by argument 'byvar'), result for test of heterogeneity printed separately for fixed effect and random effects model
metabin(), summary.meta(), print.summary.meta():
new argument 'print.CMH' indicating whether Cochran-Mantel-Haenszel test for overall effect should be printed (default 'print.CMH = FALSE')
Help pages updated:
Version jump to 1.5-0 as several changes have been implemented
New functions:
z2cor() internal function
forest.meta():
x limits (min,max) of the plot are defined by the width of confidence intervals instead of (0,1) for objects of class "metaprop"
metaprop():
use of argument 'freeman.tukey' is deprecated (replaced by argument 'sm')
funnel(), funnel.meta(), labbe(), labbe.meta():
argument 'y' removed
trimfill(), trimfill.meta():
argument 'seTE' removed
summary.meta():
new list elements 'H.w', 'I2.w', 'Q.b.fixed' and 'Q.b.random' for heterogeneity statistics within subgroups
forest.meta(), metacum(), metainf(), print.meta(), print.summary.meta(), summary.meta():
extension for meta-analysis of correlations
plot.meta():
print warning that function was replaced by forest.meta()
New list element 'version' with information on version number of meta package used to create an object; applies only to object creating functions, e.g. metabin() and metabias()
Several help pages updated
Use file NEWS instead of ChangeLog to document changes
check whether input is an object of class "summary.meta"
print.summary.meta():
a warning is printed if both 'comb.fixed' and 'comb.random' are TRUE and results for subgroups are supposed to be printed
Help pages of print.summary.meta() and forest() updated:
detailed information on printing and plotting of subgroup results if both comb.fixed and comb.random are TRUE
Help page of metagen() updated:
L'Abbe plot implemented: labbe(), labbe.default(), labbe.metabin()
Generic method for funnel plots: funnel(), funnel.default(), funnel.meta()
funnel.meta(), funnel.default():
background colour of points in funnel plot can be changed (new argument 'bg')
forest():
new default values for arguments 'lab.e' and 'lab.c':
metabin(), metacont(), metagen():
arguments 'label.e' and 'label.c' added
metacr():
First major version released on CRAN (no ChangeLog available)
Older versions (without ChangeLog):
meta, version 0.9-19 (2009-04-09)
meta, version 0.9-18 (2009-03-03)
meta, version 0.9-17 (2009-01-28)
meta, version 0.9-15 (2008-12-08)
meta, version 0.8-2 (2007-02-13)
meta, version 0.81 (2006-11-29)
meta, version 0.8 (2006-11-24)
First CRAN release (2006-02-08)
meta, version 0.5-0 (2005-02-23)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.