Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve metafor support: #726

Open
8 tasks
bwiernik opened this issue Mar 4, 2023 · 0 comments
Open
8 tasks

Improve metafor support: #726

bwiernik opened this issue Mar 4, 2023 · 0 comments
Labels
Enhancement 💥 Implemented features can be improved or revised

Comments

@bwiernik
Copy link
Contributor

bwiernik commented Mar 4, 2023

Continuing #514

In #514, I added include_interval arguments to get_data.rma() to replace those in parameters::parameters().

This issue tracks other updates needed for metafor support.

I'm looking to improve our handling of meta-analysis objects, particularly from metafor.

The first step here is to get various functions in insight working.

Currently, I've improved missing data handling in get_data.rma(), and made get_formula.rma() work for most cases.

I have also added arguments to include confidence intervals for effect sizes in get_data.rma(). This is to facilitate creation of forest plots. Currently, we have this functionality in parameters::model_parameters.rma(), but it doesn't make much sense to me there. The observed study effect sizes are not really model parameters--they are the observed raw data. Including them in parameters() also produces odd output for meta-analysis with predictors (vs intercept-only). So I suggest we move this functionality here. I think the reason they might be in parameters() is because they are in broom::tidy(), but this doesn't make much sense to me there either. This choice was probably to facilitate making forest plots, but there are better ways to do that, and this structure isn't really all that useful for these plots anyway.

Still to come:

insight

  • Update get_predicted()

In get_predicted(), we should have:

  1. "expectation" : fitted values + confidence interval
  2. "prediction" : fitted values + prediction interval
  3. "blup" : best linear unbiased predictions + CI (analogous to coef() or modelbased::estimate_grouplevel() in an MLM)

Should the the third option rather be in parameters::model_parameters(..., group_level = TRUE), with options "random" and "total"/"blup"? That would be more similar to how we handled mixed effects models

In addition, get_predicted() needs some work to handle metafor's unusual expected inputs to predict() (a model matrix rather than a model frame) and unusual output (a single row for intercept-only models).

The various flavors of rma models should be handled.

parameters

Update model_parameters():

  • remove include_studies
  • include dispersion parameters in table

performance

  • Make check_model() work

Should generally look and work like with mixed effects models

modelbased

  • Check the various estimate_*() functions to ensure they work

see

  • Add funnel plot functionality
  • Add forest plot functionality
  • Add visualization_recipe() functionality to produce funnel, forest, or scatterplots

I could move this off into their package (easymeta or similar) if desired

@strengejacke strengejacke added the Enhancement 💥 Implemented features can be improved or revised label Mar 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement 💥 Implemented features can be improved or revised
Projects
None yet
Development

No branches or pull requests

2 participants