Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Combined four different Meta-Analyses together using Metan

    Hello,
    I am trying to generate four Meta-Analyses using different effect size (i.e. risk ratio, odds ratio, expected risk ratios) on the same pooled studies, so I will have four separate forest plots. But I want to present them on the same graph for easier comparison just like the figure 2 in the example article: https://www.ncbi.nlm.nih.gov/pmc/art...ne.0096282.pdf.

    It's not a subgroup analysis because it's basically four meta-analyses. I want to have the vertical line on 1 and make it look more consistent. I didn't find much information online that presents multiple meta-analyses (the weight has to be 100 for each subtotal). Any suggestion will be greatly appreciated.

    And this is just the code I used now for one meta-analysis,
    metan or or_ll or_ul, random eform


  • #2
    Dear Tzu-Chun Chu,

    Firstly, apologies for the delayed response. Hopefully what follows will still be of use to you.

    One way to do this is to replicate your dataset, and generate new effect size variables which would take on the values of a different effect size in each replication. In other words, if you generate new variables "es", "lci" and "uci", you'd copy the risk ratios and 95% CI into these variables in the first replication; the odds ratios and 95% CI into the second replication, and so on. Then, finally, you could use metan with the by() option. (weights of 100% for each subtotal can be done using the sgweight option; see help metan).

    Code:
    use "http://fmwww.bc.edu/repec/bocode/m/metan_example_data", clear
    
    expand 2, gen(effect)
    label define effect 0 "Relative risk" 1 "Odds ratio"
    label values effect effect
    
    gen es = ln(RR) if effect==0
    gen lci = ln(RRlci) if effect==0
    gen uci = ln(RRuci) if effect==0
    
    replace es = ln(OR) if effect==1
    replace lci = ln(ORlci) if effect==1
    replace uci = ln(ORuci) if effect==1
    
    metan es lci uci, label(namevar=id) by(effect) eform sgweight nohet


    I can also suggest a different approach, using my updated meta-analysis command admetan (see: ssc describe admetan). This command allows you to save datasets which have a structure suitable for directly plotting as a forest plot. That is, all the data is in columns of either text or numbers, with blank lines where required; and the command forestplot (included in the admetan package) produces the plot directly from the data, giving you more flexibility in the look of the plot. You could exactly the same approach as I described above (simply replacing metan with admetan); or for an alternative which places graphs side-by-side instead of top-and-bottom, see the final example under help forestplot.

    Kind regards,

    David.

    Comment

    Working...
    X