[R-meta] modifying the default forest plot

Viechtbauer Wolfgang (SP) wolfgang.viechtbauer at maastrichtuniversity.nl
Tue Feb 13 21:42:41 CET 2018


What does

random$k.f

say? And what does

length(play1$author)

say? They should be the same, but apparently are not. Did you fit the model 'random' to the data in 'play1'? What does your code look like that you used for fitting the model?

Best,
Wolfgang

>-----Original Message-----
>From: Mukht Kaur [mailto:theoneliberatedkaur at gmail.com]
>Sent: Tuesday, 13 February, 2018 21:14
>To: Viechtbauer Wolfgang (SP)
>Cc: r-sig-meta-analysis at r-project.org
>Subject: Re: [R-meta] modifying the default forest plot
>
>Hi Wolfgang,
>For some reason I am not able to use the previous statement, i.e.,
>print(forest(random, showweights=TRUE, xlab='Estimated Effect Size',
>order="obs", slab=paste(play1$author, play1$year, sep=", ")))
>
>I believe I used it successfully earlier but now the following error
>shows up:
>Error in forest.rma(random, showweights = TRUE, xlab = "Estimated Effect
>Size",  :
>  Number of outcomes does not correspond to the length of the 'slab'
>argument.
>
>Any suggestions?
>
>Please let me know.
>Thanks
>
>On Tue, Feb 13, 2018 at 3:10 PM, Mukht Kaur
><theoneliberatedkaur at gmail.com> wrote:
>Hi Wolfgang,
>For some reason I am not able to use the
>
>On Tue, Dec 5, 2017 at 6:06 PM, Viechtbauer Wolfgang (SP)
><wolfgang.viechtbauer at maastrichtuniversity.nl> wrote:
>Please always cc the list.
>
>As for adjusting the arrangement of the various elements in the plot, you
>have two options:
>
>1) Make the plotting device wider. I don't know how you are creating the
>plot, but if you are doing this 'interactively', you can just do this by
>increasing the width of the window for the plot. If you are using
>something like png(), pdf(), or some other plotting device to save the
>plot, then you adjust the 'width' argument.
>
>2) You can also play around with the 'xlim' argument. First do this:
>
>print(forest(random13, showweights=TRUE, xlab='Estimated Effect Size',
>order="obs", slab=paste(play1$author, play1$year, sep=", ")))
>
>Note the default value for 'xlim'. Then rerun the forest() command as
>above (without the print()) but adjust 'xlim', that is, use xlim=c(lower,
>upper). Increase/decrease the lower and upper values to see how this
>affects the plot.
>
>To label elements, use text(). For example:
>
>text(lower, 15, "Author(s) and Year", pos=4)
>text(upper, 15, "ES [95% CI]",        pos=2)
>
>where lower/upper are the values you specified for xlim and you need to
>adjust the '15' depending on how many rows are in your forest plot (the
>second value of text() determines the y coordinate where the text is
>written). You can use text() to also add a label for the weights.
>
>You might also want to go through the examples at the end of
>help(forest.rma) to get an idea of what can be done.
>
>Best,
>Wolfgang
>
>-----Original Message-----
>From: Mukht Kaur [mailto:theoneliberatedkaur at gmail.com]
>Sent: Tuesday, 05 December, 2017 23:31
>To: Viechtbauer Wolfgang (SP)
>Subject: Re: [R-meta] modifying the default forest plot
>
>Thank you guys! So I successfully made edits to my default forest plot
>using
>forest (random13, showweights=TRUE, xlab='Estimated Effect Size',
>order="obs", slab=paste(play1$author, play1$year, sep=", "))
>
>The weights assigned are represented in the figure but they seem too
>close to the CIs. Is there a way to label them and CIs? I looked at other
>arguments which can be used for the 'forest' function. None seem
>applicable to the labelling I intend to do. Any ideas?
>
>On Tue, Dec 5, 2017 at 4:58 AM, Viechtbauer Wolfgang (SP)
><wolfgang.viechtbauer at maastrichtuniversity.nl> wrote:
>Ken already gave some pointers.
>
>1) How could I get the author and year instead?
>
>Use the 'slab' argument. For example:
>
>slab=paste(dat$author, dat$year, sep=", "))
>
>(assuming that there are 'author' and 'year' variables in the data frame
>'dat').
>
>2) It would be better if I can get them arranged according to the
>observed effect size - is that possible?
>
>Use argument: order="obs"
>
>3) Also, I would like to change the title of my X axis to 'Estimated
>Effect Size'
>rather than the default title 'Observed Outcome'.
>
>Use argument: xlab="Estimated Effect Size"
>
>4) Lastly, would it be possible to specify the exact weight assigned to
>each study in the forest plot?
>
>Use argument: showweights=TRUE
>
>Best,
>Wolfgang
>
>-----Original Message-----
>From: R-sig-meta-analysis [mailto:r-sig-meta-analysis-bounces at r-
>project.org] On Behalf Of Mukht Kaur
>Sent: Tuesday, 05 December, 2017 6:30
>To: r-sig-meta-analysis at r-project.org
>Subject: [R-meta] modifying the default forest plot
>
>Hi everyone!
>
>I am new to meta-analysis methodology and I am using R software to do my
>quantitative synthesis. I am using random effects model to analyse my
>individual studies through rma function in metafor package.
>
>By using 'forest(mymodelname)', I have a basic forest plot where my
>individual studies are shown as Study 1, Study 2, and so on. How could I
>get the author and year instead? It would be better if I can get them
>arranged according to the observed effect size - is that possible? Also,
>I
>would like to change the title of my X axis to 'Estimated Effect Size'
>rather than the default title 'Observed Outcome'. Lastly, would it be
>possible to specify the exact weight assigned to each study in the forest
>plot?
>Many thanks in advance for your help.
>
>MK


More information about the R-sig-meta-analysis mailing list