Actually, I have a different opinion about reporter() function. Just for
an open discussion and no offensive. Instead of automatically generating
an analysis report based on the fitted model (via rma()), it is probably
more useful to have a helper function to automatically generate a
"publication-ready" table that shows the quantities recommended by various
PRISMA-related reporting guidelines, such as the name of the moderator,
tau, I2, point estimate, CIs, k, t, p, et al. The analysis report is
something that should be (and must be at some point) done by the analysts
themselves and they are responsible for the proper interpretation.
Regards,
Yefeng
------------------------------
*From:* R-sig-meta-analysis <r-sig-meta-analysis-bounces at r-project.org>
on behalf of Viechtbauer, Wolfgang (NP) via R-sig-meta-analysis <
r-sig-meta-analysis at r-project.org>
*Sent:* Thursday, 15 June 2023 18:38
*To:* R Special Interest Group for Meta-Analysis <
r-sig-meta-analysis at r-project.org>
*Cc:* Viechtbauer, Wolfgang (NP) <
wolfgang.viechtbauer at maastrichtuniversity.nl>; Gabriel Cotlier <
gabiklm01 at gmail.com>
*Subject:* Re: [R-meta] Question about function reporter()
Dear Gabriel,
You can't, since reporter() doesn't currently work for 'rma.mv' objects.
Models that can be fitted with rma() (same as rma.uni()) are relatively
simple and the number of possibilities that need to be covered for
translating the results from such a model into text are managable. Although
even here, there are currently restrictions. For example, reporter()
currently only works for 'intercept-only models' (i.e., models without
moderators), it doesn't work when robust() was used on the model, and it
doesn't work for location-scale models. Allowing reporter() to work with
meta-regression models is on my radar, but not sure when I will get to this.
Models that can be fitted with rma.mv() are an entirely different beast.
This function allows users to fit multilevel models (with essentially no
limits on the number of levels), multivariate models (with multiple
correlated random effects), network meta-analyses, phylogenetic
meta-analyses, spatio-temporal models, models with random slopes, models
with crossed random effects, and combinations thereof (e.g., multivariate
network meta-analysis). Such models will also typically involve one or
multiple moderators (e.g., to distinguish different outcomes, treatments,
time points, etc.). Depending on the type of model, different aspects of
the results are also more or less relevant (e.g., in a phylogenetic MA,
there would be a lot of focus on the random effects for species, while in a
network MA, focus would be more on contrasting the different treatments
with each other). There is essentially no way in hell that one could write
reporter()-like functionality for 'rma.mv' type models that covers all
these aspects/possibilities in a sensible way.
Of course, one could consider writing a version that only covers a few
special cases; for example, models of the form rma.mv(yi, V, random = ~ 1
| level1/level2/level3/...) or rma.mv(yi, V, random = ~ var1 | var2)
although the latter type of model would often be used when var1 corresponds
to different outcomes in which case the model would probably involve
moderators and be of the form rma.mv(yi, V, mods = ~ outcome, random = ~
outcome | study), but in the end, the reporter() function cannot read the
users mind as to what the goal and focus of their analysis was.
Alternatively, one could generate very generic text that does cover many
possibilities, but this would add essentially nothing to just reading the
output directly.
Maybe if we wait another 20-30 years, ChatGPT (or Skynet or whatever it
will be called then) will be able to do something like this automatically.
However, we might be too busy fighting off the Terminators at that point to
worry about rma.mv() models ...
Best,
Wolfgang
-----Original Message-----
From: R-sig-meta-analysis [
mailto:r-sig-meta-analysis-bounces at r-project.org
<r-sig-meta-analysis-bounces at r-project.org>] On
Behalf Of Gabriel Cotlier via R-sig-meta-analysis
Sent: Thursday, 15 June, 2023 6:37
To: R Special Interest Group for Meta-Analysis
Cc: Gabriel Cotlier
Subject: [R-meta] Question about function reporter()
Hello all,
I am using an object of class "rma.mv" "rma" as :
class(data)
[1] "rma.mv" "rma"
and would like to use the function reporter().
How could this possibly be done either directly in metafor in R or maybe
JAMOVI or in other software where the metafor package is included?
Thanks a lot.
Kind regards,
Gabriel