[R-meta] R-sig-meta-analysis Digest, Vol 14, Issue 32
Simioni, Julia
@imioni @ending from mcm@@ter@c@
Tue Jul 31 20:39:11 CEST 2018
Hi Wolfgang,
Thank you for explaining this about the forest.rma() function. I have used your suggested code to instead subset outside of forest.rma() first and it works very well!
Thank you for your help!
Julia
-----Original Message-----
From: R-sig-meta-analysis <r-sig-meta-analysis-bounces using r-project.org> On Behalf Of r-sig-meta-analysis-request using r-project.org
Sent: Tuesday, July 31, 2018 6:00 AM
To: r-sig-meta-analysis using r-project.org
Subject: R-sig-meta-analysis Digest, Vol 14, Issue 32
Send R-sig-meta-analysis mailing list submissions to
r-sig-meta-analysis using r-project.org
To subscribe or unsubscribe via the World Wide Web, visit
https://stat.ethz.ch/mailman/listinfo/r-sig-meta-analysis
or, via email, send a message with subject or body 'help' to
r-sig-meta-analysis-request using r-project.org
You can reach the person managing the list at
r-sig-meta-analysis-owner using r-project.org
When replying, please edit your Subject line so it is more specific than "Re: Contents of R-sig-meta-analysis digest..."
Today's Topics:
1. The effect size of a moderator in a meta-regression
(Angeline Tsui)
2. Re: Metafor package: Using subset in forest()
(Viechtbauer, Wolfgang (SP))
----------------------------------------------------------------------
Message: 1
Date: Mon, 30 Jul 2018 13:08:00 -0400
From: Angeline Tsui <angelinetsui using gmail.com>
To: r-sig-meta-analysis using r-project.org
Subject: [R-meta] The effect size of a moderator in a meta-regression
Message-ID:
<CAAyziv9sHgxa3bzZxDi6Q510k16B97uoLLkxMYBumhksKCQLKg using mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Hello all,
I have a question about the effect size of a moderator in a meta-regression.
In my meta-analysis, I used Cohen's d as the effect size, I ran a meta-regression with a number of moderators (i.e., like a multiple regression). I recently have received a feedback of a reviewer asking me specifically how to interpret the magnitude of the effect size of a significant moderator. In this case, the beta coefficient of this is about
0.19 and the weighted mean effect size of this meta-analysis is fairly low (around 0.3 but it is significant).
So my question is how to interpret the magnitude of the beta coefficient here? In the context of a small weighted effect size, it is fairly large, for example, a unit change of x1 will lead to 0.19 increase in the Cohen's d (holding all other moderators constant). In terms of percentage, it is a large increase, approximately 63% increase (i.e., 0.19/0.3). However, in terms of the "rule of thumb" of Cohen's d size, it is small, as 0.2 is small Cohen's d.
What do you think? Do you think that I should interpret the size of beta coefficient in the context of the weighted mean effect size or stick to the Cohen's d rule of thumb?
Thanks very much and I look forward to receiving your reply.
Best,
Angeline
--
Best Regards,
Angeline
[[alternative HTML version deleted]]
------------------------------
Message: 2
Date: Mon, 30 Jul 2018 22:29:56 +0000
From: "Viechtbauer, Wolfgang (SP)"
<wolfgang.viechtbauer using maastrichtuniversity.nl>
To: "Simioni, Julia" <simioni using mcmaster.ca>,
"r-sig-meta-analysis using r-project.org"
<r-sig-meta-analysis using r-project.org>
Subject: Re: [R-meta] Metafor package: Using subset in forest()
Message-ID: <157c14ed47104959906ae9f066fa4055 using UM-MAIL3214.unimaas.nl>
Content-Type: text/plain; charset="iso-8859-1"
Dear Julia,
Indeed, forest.rma() (which is what you are implicitly using by passing an object of class 'rma' to the forest() function) does not have a 'subset' argument (see help(forest.rma) to confirm that). I see why this might be useful -- or alternatively, forest.rma() should automatically apply the same subsetting (e.g., to the elements/rows of the 'ilab' argument), but this could get confusing.
I think the easier approach would be to create a data frame that is already subsetted and work with that. So, for example:
sub <- subset(dat, outcome=="periorneomortalityany" & Parity=="nullip" & Integration=="integ")
primary <- rma(yi, vi, data=sub, measure="OR",
slab = paste(sub$author, sub$year, sep=", "),
digits=2, level=95)
forest(primary, addfit=TRUE, showweights=TRUE, atransf=exp,
xlab="Odds Ratio", mlab="Random Effects Model",
order=order(sub$PragIdeal),
ilab=cbind(sub$HomePos, sub$HomeNeg, sub$HospPos, sub$HospNeg),
ilab.xpos=c(-14.5,-12,-9,-6))
You might still need to play around with the 'xlim' and 'ilab.pos' arguments to get everything to fit well. Also, setting 'at' explicitly might be useful here. For example:
forest(primary, addfit=TRUE, showweights=TRUE, atransf=exp,
xlab="Odds Ratio", mlab="Random Effects Model",
order=order(sub$PragIdeal),
ilab=cbind(sub$HomePos, sub$HomeNeg, sub$HospPos, sub$HospNeg),
ilab.xpos=c(-20,-16,-12,-8), xlim=c(-35,20), at=log(c(.01, .1, 1, 10, 100)))
This seems to work alright with your png() call.
Best,
Wolfgang
-----Original Message-----
From: R-sig-meta-analysis [mailto:r-sig-meta-analysis-bounces using r-project.org] On Behalf Of Simioni, Julia
Sent: Monday, 30 July, 2018 18:39
To: r-sig-meta-analysis using r-project.org
Subject: [R-meta] Metafor package: Using subset in forest()
ATTACHMENT(S) REMOVED: MyData.csv
I'm using the Metafor package in R to run a metanalysis and generate a forest plot. I'm wondering if it is possible to use subset as an argument in the forest() function? It is not listed as one in the documentation but through looking online for a solution to my problem, I've seen it mentioned in forums that is possible. I think I may be using it incorrectly though.
I have a csv file that contains data from many studies but I only want to use some of them in my meta analysis and forest plot. I have attached the csv file. When I run rma() using subset it works fine.
png(filename="primary2.png", pointsize=11, res=95, width=900, height=680, type="cairo") primary <- rma(yi, vi,
data=dat,
measure="OR",
slab = paste(dat$author, dat$year, sep=", "),
subset=(outcome=="periorneomortalityany" & Parity=="nullip" & Integration=="integ"),
digits=2, level=95)
but when I try this in forest() I get warnings saying that subset is not a graphical parameter and the plot will not populate. Without the subset argument working correctly in forest() the order argument does not work properly and the ilab argument results in the ai, bi, ci, di from the first studies in my csv file being added to my plot, rather than the ai, bi, ci, di from the studies that I want.
forest(primary,
addfit=TRUE,
showweights=TRUE,
atransf=exp,
xlab="Odds Ratio",
mlab="Random Effects Model",
subset=(dat$outcome=="periorneomortalityany" & dat$Parity=="nullip" & dat$Integration=="integ"),
order=order(dat$PragIdeal),
ilab=cbind(dat$HomePos, dat$HomeNeg, dat$HospPos, dat$HospNeg),
ilab.xpos=c(-14.5,-12,-9,-6)
)
dev.off()
Any advice is greatly appreciated.
------------------------------
Subject: Digest Footer
_______________________________________________
R-sig-meta-analysis mailing list
R-sig-meta-analysis using r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-meta-analysis
------------------------------
End of R-sig-meta-analysis Digest, Vol 14, Issue 32
***************************************************
More information about the R-sig-meta-analysis
mailing list