Marco Colagrossi
2015-Aug-25 16:25 UTC
[R] Metafor and forest(); not showing 'ilab' and text
I think I've not explained myself well. When I say "the width of the forest plot" I mean the region above the observed outcome, the "actual" forest plot, not the plot as a whole. Even if I change values for Xlim, cex or ilab.xpos the width of that particular region within the plot doesn't change. Best, Marco On 25 August 2015 at 18:11, Viechtbauer Wolfgang (STAT) <wolfgang.viechtbauer at maastrichtuniversity.nl> wrote:> The 'xlim' argument does not change the actual width of the plotting device. For that, you need to use the 'width' argument with whatever device you are actually using. You can then use the 'xlim' argument to create appropriate spacing to the left/right of the part of the plot that shows the estimates and their CIs. Within that space, you can then add additional columns with the 'ilab' argument. It's up to you to find an appropriate combination of plotting device width, character/symbol expansion factor ('cex' argument), 'xlim' values, and 'ilab.xpos' values to create a nice looking plot that has no overlapping text and no excessive white space. An example is this: > > http://www.metafor-project.org/doku.php/plots:forest_plot_with_subgroups > > Note that it took me dozens of iterations to create that plot. You just have to start experimenting. > > Best, > Wolfgang > >> -----Original Message----- >> From: Marco Colagrossi [mailto:marco.colagrossi at gmail.com] >> Sent: Tuesday, August 25, 2015 17:59 >> To: Viechtbauer Wolfgang (STAT) >> Cc: r-help at r-project.org; Michael Dewey >> Subject: Re: [R] Metafor and forest(); not showing 'ilab' and text >> >> Thanks again for your help. I'm sorry to bother you but I don't get >> how to widen the forest plot; if I try to change the values of xlim or >> the ilab.xpos values the width of the forest plot region does not >> change, but only moves on the graphs. What I'm I missing? >> >> >> forest(pc, var, ci95m, ci95p, slab = authoryear, psize=1, >> subset=(pub==1), >> xlim = c(-16, 6), >> ilab = data.frame(SIMdv, SIMiv), >> ilab.xpos = c(-7.5, -5.5), cex = 0.75) >> op <- par(cex=.75, font=2) >> text(c(-7.5, -5.5), 54, c("DV", "IV")) >> text(-16, 54, "Author(s) and Year", pos=4) >> text(6, 54, "Outcome [95% CI]", pos=2) >> par(op) >> > par("usr")[1:2] >> [1] -16 6-------------- next part -------------- A non-text attachment was scrubbed... Name: Rplot01.png Type: image/png Size: 119435 bytes Desc: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20150825/5b8eac03/attachment.png>
Marco Colagrossi
2015-Aug-31 15:08 UTC
[R] Metafor and forest(); not showing 'ilab' and text
Thanks for your help, I got the mistake I was making and I managed to find a solution regarding those graphs; I don't want to abuse of your patience but I have three further questions: 1. Always regarding the forest plots, it is possible to make a cross-subset? I try to explain my self better; I have one dummy variable called pub and another variable called SIMiv that can take the values of "share", "loan", "number" and "duration". How can I subset my sample so that the forest shows only (for example) studies when the dummy takes the value of 1 and the SIMiv variable takes the values of "share" and "loan"? Something like this: forest(pc, var, ci95m, ci95p, slab = authoryear2, psize=1, subset=(pub==1, SIMiv=("share", "loan", "duration")) 2. I have few doubts regarding the multilevel modeling; rma.mv(pc, var, random = ~ 1 | author, data=codebook) if I'm correct this should be a multilevel model nested at "author" level; what I cannot understand If it is a varying intercept (Y=A+BjX), a varying slope (Y=Aj+BX) or a varying intercept&slope model (Y=Aj+BjX). Are there the formulas for it somewhere? So far I only found the formulas for the estimators included in the metafor package. 3. metareg1 <- rma.mv(pc, var, random = ~ 1 | author, mods = ~ pub + SIMiv, data=codebook) Again, if I'm correct this should be a multilevel meta regression (correct me if I'm wrong); I have the same doubts as before. Thank you again Marco On 25 August 2015 at 19:24, Michael Dewey <lists at dewey.myzen.co.uk> wrote:> Dear Marco > > When you change xlim it increases the width of the forest plot in the sense > you describe. It does not push your text out of the way to make space for it > but instead overprints it. You may like to use alim to truncate your > confidence interval whiskers to fit within the space you see or make your > labels shorter. > > > On 25/08/2015 17:25, Marco Colagrossi wrote: >> >> I think I've not explained myself well. When I say "the width of the >> forest plot" I mean the region above the observed outcome, the >> "actual" forest plot, not the plot as a whole. Even if I change values >> for Xlim, cex or ilab.xpos the width of that particular region within >> the plot doesn't change. >> >> Best, >> >> Marco >> >> On 25 August 2015 at 18:11, Viechtbauer Wolfgang (STAT) >> <wolfgang.viechtbauer at maastrichtuniversity.nl> wrote: >>> >>> The 'xlim' argument does not change the actual width of the plotting >>> device. For that, you need to use the 'width' argument with whatever device >>> you are actually using. You can then use the 'xlim' argument to create >>> appropriate spacing to the left/right of the part of the plot that shows the >>> estimates and their CIs. Within that space, you can then add additional >>> columns with the 'ilab' argument. It's up to you to find an appropriate >>> combination of plotting device width, character/symbol expansion factor >>> ('cex' argument), 'xlim' values, and 'ilab.xpos' values to create a nice >>> looking plot that has no overlapping text and no excessive white space. An >>> example is this: >>> >>> http://www.metafor-project.org/doku.php/plots:forest_plot_with_subgroups >>> >>> Note that it took me dozens of iterations to create that plot. You just >>> have to start experimenting. >>> >>> Best, >>> Wolfgang >>> >>>> -----Original Message----- >>>> From: Marco Colagrossi [mailto:marco.colagrossi at gmail.com] >>>> Sent: Tuesday, August 25, 2015 17:59 >>>> To: Viechtbauer Wolfgang (STAT) >>>> Cc: r-help at r-project.org; Michael Dewey >>>> Subject: Re: [R] Metafor and forest(); not showing 'ilab' and text >>>> >>>> Thanks again for your help. I'm sorry to bother you but I don't get >>>> how to widen the forest plot; if I try to change the values of xlim or >>>> the ilab.xpos values the width of the forest plot region does not >>>> change, but only moves on the graphs. What I'm I missing? >>>> >>>> >>>> forest(pc, var, ci95m, ci95p, slab = authoryear, psize=1, >>>> subset=(pub==1), >>>> xlim = c(-16, 6), >>>> ilab = data.frame(SIMdv, SIMiv), >>>> ilab.xpos = c(-7.5, -5.5), cex = 0.75) >>>> op <- par(cex=.75, font=2) >>>> text(c(-7.5, -5.5), 54, c("DV", "IV")) >>>> text(-16, 54, "Author(s) and Year", pos=4) >>>> text(6, 54, "Outcome [95% CI]", pos=2) >>>> par(op) >>>>> >>>>> par("usr")[1:2] >>>> >>>> [1] -16 6 > > > -- > Michael > http://www.dewey.myzen.co.uk/home.html