I would like to perform a meta-regression of utility weights for two health states (1st state - overall, with specific condition; the second - with additional conditions, comorbidities).
Some studies report outcome for only one state, while others - for both. I've would like to treat the comorbidities as a moderator of overall outcome (a improvement or reduction in overall outcome due to comorbidities).
Is there a way to create such model in metafor R package (to obtain one var-cov matrix for all studies combined)?
Here is a example of dataset:
dat = data.frame(study=c(1, 1, 2, 3, 3, 3, 4, 4), group=c("all", "with", "all", "all", "with", "without", "all", "without"), stype=c(1, 1, 2, 2, 3, 3, 2, 2), meth=c(1, 1, 2, 2, 2, 2, 1, 1),char=c(0.5, 0.4, 0.5, 0.4, 0.5, 0.3, 0.6, 0.5), yi=c(0.7, 0.6, 0.8, 0.5, 0.2, 0.6, 0.5, 0.45),vi=c(0.0575, 0.0686, 0.1675, 0.432, 0.448, 0.405, 0.2754, 0.12))
study is a study number,
group is a patients group (with/without comorbidities or all combined),
stype is a study type,
meth is a method of utility calculation, and
char can be additional patients' characteristics (eq. percent of women).
The variances are calculated from SEM. The covariance within study is not available.
This is an simplified example, I will have much more complex dataset (more outcomes from one study - several methods in one study; additional subgroups).
My main problems (apart from being novice in such statistical analysis) are:
handle the correlation of outcomes within study, eg. to estimate
select appropriate methods for calculation (I've read about 'Robust variance estimation with dependent effect sizes', but I'm not sure that will be appropriate and if it is included in
generate var-cov matrix for full model, which could be incorporated in the subsequent stages of my dissertation (probabilistic analysis; get random values from multivariate distribution described by means and var-covar matrix)
My first guess was:
rma.mv(yi, vi, mods= ~relevel(group, ref="all") + relevel(factor(stype),ref=1) + relevel(factor(meth),ref=1) + char, random = ~ group | study, data=dat)
V matrix as an input, this always will generate
rho at 1.