The metafor Package

A Meta-Analysis Package for R

User Tools

Site Tools


news:news2020

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
news:news2020 [2021/04/25 10:54] – created Wolfgang Viechtbauernews:news2020 [2021/11/25 09:26] Wolfgang Viechtbauer
Line 3: Line 3:
 ~~NOTOC~~ ~~NOTOC~~
  
-==== November 14th, 2020: An Aggregate Function ====+==== 2020-11-14: An Aggregate Function ====
  
-In many meta-analyses, multiple effect size estimates or outcomes can be extracted from the same study. Ideally, such structures should be analyzed using an appropriate multilevel/multivariate model as can be fitted with the ''rma.mv()'' function. However, there may occasionally be reasons for aggregating multiple effect sizes or outcomes belonging to the same study (or to the same level of some other clustering variable) into a single combined effect size or outcome. I've added an ''aggregate()'' function (or to be precise, an ''aggregate.escalc()'' method function) to the package for this purpose. You can read the documentation for this function (and see some examples illustrating its use) [[https://wviechtb.github.io/metafor/reference/aggregate.escalc.html|here]].+In many meta-analyses, multiple effect size estimates or outcomes can be extracted from the same study. Ideally, such structures should be analyzed using an appropriate multilevel/multivariate model as can be fitted with the ''[[https://wviechtb.github.io/metafor/reference/rma.mv.html|rma.mv()]]'' function. However, there may occasionally be reasons for aggregating multiple effect sizes or outcomes belonging to the same study (or to the same level of some other clustering variable) into a single combined effect size or outcome. I've added an ''aggregate()'' function (or to be precise, an ''[[https://wviechtb.github.io/metafor/reference/aggregate.escalc.html|aggregate.escalc()]]'' method function) to the package for this purpose (see the documentation for some examples illustrating its use).
  
-==== October 14th, 2020: Selection Models ====+==== 2020-10-14: Selection Models ====
  
 I've added the possibility to fit so-called 'selection models' with the metafor package. In case you are not familiar with such models: Selection models attempt to model and therefore account for the process by which the studies included in a meta-analysis may have been influenced by some form of publication bias. In other words, some kind of selection process may have happened that made it more likely that certain types of studies will be published and hence are more easily found and therefore can be included in a meta-analysis (yes, one should always search the 'gray literature' for unpublished studies to be included in a meta-analysis, but uncovering those studies lingering in some file drawers out there can be exceedingly difficult). I've added the possibility to fit so-called 'selection models' with the metafor package. In case you are not familiar with such models: Selection models attempt to model and therefore account for the process by which the studies included in a meta-analysis may have been influenced by some form of publication bias. In other words, some kind of selection process may have happened that made it more likely that certain types of studies will be published and hence are more easily found and therefore can be included in a meta-analysis (yes, one should always search the 'gray literature' for unpublished studies to be included in a meta-analysis, but uncovering those studies lingering in some file drawers out there can be exceedingly difficult).
Line 13: Line 13:
 The classical example of such a selection process is the fact that statistically significant findings are more likely to be submitted/accepted for publication. As a result, the findings from a meta-analysis can be biased, sometimes quite severely (because especially the smaller studies can only achieve statistical significance if they just happen to have obtained a large effect). Selection models attempt to correct for this (or can be used for sensitivity analyses by varying the degree of severity of such a selection process). The classical example of such a selection process is the fact that statistically significant findings are more likely to be submitted/accepted for publication. As a result, the findings from a meta-analysis can be biased, sometimes quite severely (because especially the smaller studies can only achieve statistical significance if they just happen to have obtained a large effect). Selection models attempt to correct for this (or can be used for sensitivity analyses by varying the degree of severity of such a selection process).
  
-To make this possible directly within the metafor package, I've added the [[https://wviechtb.github.io/metafor/reference/selmodel.html|selmodel()]] function, which provides a wide variety of selection model types (there are lots of proposals out there for how to model the selection process), including the 'beta selection model' by Citkowicz and Vevea (2017), a bunch of selection models suggested by Preston et al. (2004), an extension thereof that I call the 'negative exponential power selection model' (sounds fancy, huh?), and so-called 'step function models' as described by Iyengar and Greenhouse (1988), Hedges (1992), Vevea and Hedges (1995), and Vevea and Woods (2005). I wrote the code so that it would be relatively easy to add further selection models to the function in case further models end up being suggested in the statistical literature.+To make this possible directly within the metafor package, I've added the ''[[https://wviechtb.github.io/metafor/reference/selmodel.html|selmodel()]]'' function, which provides a wide variety of selection model types (there are lots of proposals out there for how to model the selection process), including the 'beta selection model' by Citkowicz and Vevea (2017), a bunch of selection models suggested by Preston et al. (2004), an extension thereof that I call the 'negative exponential power selection model' (sounds fancy, huh?), and so-called 'step function models' as described by Iyengar and Greenhouse (1988), Hedges (1992), Vevea and Hedges (1995), and Vevea and Woods (2005). I wrote the code so that it would be relatively easy to add further selection models to the function in case further models end up being suggested in the statistical literature.
  
 Note that the [[https://cran.r-project.org/package=weightr|weightr]] package can also fit step function models and some other selection models are implemented in the [[https://cran.r-project.org/package=metasens|metasens]] and [[https://cran.r-project.org/package=selectMeta|selectMeta]] packages. Note that the [[https://cran.r-project.org/package=weightr|weightr]] package can also fit step function models and some other selection models are implemented in the [[https://cran.r-project.org/package=metasens|metasens]] and [[https://cran.r-project.org/package=selectMeta|selectMeta]] packages.
  
-==== August 9th, 2020: R Code for Even More Meta-Analysis Books ====+==== 2020-04-09: R Code for Even More Meta-Analysis Books ====
  
 The R code for two more books has been added to the [[https://github.com/wviechtb/meta_analysis_books|GitHub repo]]: //The Handbook of Research Synthesis and Meta-Analysis// by Cooper et al. (2019) and //Publication Bias in Meta-Analysis// by Rothstein et al. (2005). The R code for two more books has been added to the [[https://github.com/wviechtb/meta_analysis_books|GitHub repo]]: //The Handbook of Research Synthesis and Meta-Analysis// by Cooper et al. (2019) and //Publication Bias in Meta-Analysis// by Rothstein et al. (2005).
  
-==== July 17th, 2020: R Code for Meta-Analysis Books ====+==== 2020-07-17: R Code for Meta-Analysis Books ====
  
 I've started a [[https://github.com/wviechtb/meta_analysis_books|repo on GitHub]] to provide R code for various books on meta-analysis. It now contains //Introduction to Meta-Analysis// by Borenstein et al. (2009) and //Practical Meta-Analysis// by Lipsey and Wilson (2001). More to be added. The items in the repo will also be listed under the [[:analyses#books_on_meta-analysis|Analysis Examples]] section. I've started a [[https://github.com/wviechtb/meta_analysis_books|repo on GitHub]] to provide R code for various books on meta-analysis. It now contains //Introduction to Meta-Analysis// by Borenstein et al. (2009) and //Practical Meta-Analysis// by Lipsey and Wilson (2001). More to be added. The items in the repo will also be listed under the [[:analyses#books_on_meta-analysis|Analysis Examples]] section.
  
-==== June 8th, 2020: Weights in Models Fitted with the rma.mv() Function ====+==== 2020-06-08: Weights in Models Fitted with the rma.mv() Function ====
  
-And another entry to the 'Tips and Notes' section, this time discussing how weighting works in more complex models, such as those that can be fitted with the ''rma.mv()'' function. You can read the tutorial [[tips:weights_in_rma.mv_models|here]].+And another entry to the 'Tips and Notes' section, this time discussing how weighting works in more complex models, such as those that can be fitted with the ''[[https://wviechtb.github.io/metafor/reference/rma.mv.html|rma.mv()]]'' function. You can read the tutorial [[tips:weights_in_rma.mv_models|here]].
  
-==== May 27th, 2020: Computing Adjusted Effects Based on Meta-Regression Models ====+==== 2020-05-27: Computing Adjusted Effects Based on Meta-Regression Models ====
  
 I've added an entry to the 'Tips and Notes' section, discussing how to compute 'adjusted effects' based on meta-regression models. You can read the tutorial [[tips:computing_adjusted_effects|here]]. I've added an entry to the 'Tips and Notes' section, discussing how to compute 'adjusted effects' based on meta-regression models. You can read the tutorial [[tips:computing_adjusted_effects|here]].
  
-==== May 9th, 2020: Modeling Non-Linear Associations in Meta-Regression ====+==== 2020-05-09: Modeling Non-Linear Associations in Meta-Regression ====
  
 I've added an entry to the 'Tips and Notes' section, illustrating how to model non-linear associations in meta-regression using polynomial and restricted cubic spline models. You can read the little tutorial [[tips:non_linear_meta_regression|here]]. I've added an entry to the 'Tips and Notes' section, illustrating how to model non-linear associations in meta-regression using polynomial and restricted cubic spline models. You can read the little tutorial [[tips:non_linear_meta_regression|here]].
  
-==== March 31st, 2020: Interpreting Coefficients in Meta-Regression Models with (Log) Risk Ratios ====+==== 2020-03-31: Interpreting Coefficients in Meta-Regression Models with (Log) Risk Ratios ====
  
 Based on a question I received, I wrote up a little tutorial on how to interpret the coefficients in meta-regression models when using the log risk ratio as the outcome measure. When exponentiating coefficients, this leads to values that represent ratios of risk ratios, which may not be entirely obvious. You can read the tutorial [[tips:meta_regression_with_log_rr|here]]. Based on a question I received, I wrote up a little tutorial on how to interpret the coefficients in meta-regression models when using the log risk ratio as the outcome measure. When exponentiating coefficients, this leads to values that represent ratios of risk ratios, which may not be entirely obvious. You can read the tutorial [[tips:meta_regression_with_log_rr|here]].
  
-==== March 20th, 2020: Two New Functions for Network Meta-Analysis ====+==== 2020-03-20: Two New Functions for Network Meta-Analysis ====
  
-As a follow-up to yesterday's note, it is maybe worth mentioning that I also added two functions that are especially useful for those conducting network meta-analyses with the metafor package. With the ''to.wide()'' function, one can rearrange a dataset that is in an arm-based 'long' format to a contrast-based 'wide' format. Two examples illustrating the use of this function can be found under [[https://wviechtb.github.io/metafor/reference/to.wide.html|help(to.wide)]] (the link takes you to the corresponding help file, which is nicely formatted and shows the output of the examples). Once the dataset is in such a wide format, an important next step is the construction of variables that reflect which two groups are being compared with each other in each row (through +1, 0, -1 coding). Such a contrast matrix can be easily created with the ''contrmat()'' function. See [[https://wviechtb.github.io/metafor/reference/contrmat.html|help(contrmat)]] for the help file and two examples illustrating its use. The analysis of these two datasets (using arm- and contrast-based models) are illustrated under [[https://wviechtb.github.io/metafor/reference/dat.hasselblad1998.html|help(dat.hasselblad1998)]] and [[https://wviechtb.github.io/metafor/reference/dat.hasselblad1998.html|help(dat.hasselblad1998)]].+As a follow-up to yesterday's note, it is maybe worth mentioning that I also added two functions that are especially useful for those conducting network meta-analyses with the metafor package. With the ''[[https://wviechtb.github.io/metafor/reference/to.wide.html|to.wide()]]'' function, one can rearrange a dataset that is in an arm-based 'long' format to a contrast-based 'wide' format (see the documentation for examples illustrating the use of this function). Once the dataset is in such a wide format, an important next step is the construction of variables that reflect which two groups are being compared with each other in each row (through +1, 0, -1 coding). Such a contrast matrix can be easily created with the ''[[https://wviechtb.github.io/metafor/reference/contrmat.html|contrmat()]]'' function (again, see the documentation for examples illustrating its use). The datasets ''[[https://wviechtb.github.io/metadat/reference/dat.senn2013.html|dat.senn2013]]'' and ''[[https://wviechtb.github.io/metadat/reference/dat.hasselblad1998.html|dat.hasselblad1998]]'' illustrate the use of these functions (using arm- and contrast-based models).
  
-==== March 19th, 2020: News Version (2.4-0) on Its Way to CRAN ====+==== 2020-03-19New Version (2.4-0) on Its Way to CRAN ====
  
 Just submitted a new version (2.4-0) to CRAN. This update was prompted by the upcoming change in R where the new  default will be ''stringsAsFactors=FALSE'' (at long last!). As a result, some tests were failing on R-devel, so these needed fixing. Along the way, I made various minor internal updates and added some convenience functionality to several functions. The full changelog can be found [[:updates#changes_in_version_24-0_2020-03-19|here]]. Just submitted a new version (2.4-0) to CRAN. This update was prompted by the upcoming change in R where the new  default will be ''stringsAsFactors=FALSE'' (at long last!). As a result, some tests were failing on R-devel, so these needed fixing. Along the way, I made various minor internal updates and added some convenience functionality to several functions. The full changelog can be found [[:updates#changes_in_version_24-0_2020-03-19|here]].
  
news/news2020.txt · Last modified: 2024/03/29 09:56 by Wolfgang Viechtbauer