I need to conduct a meta-analysis for a publication, but this is my first meta-analysis and I still don’t feel confident. I will describe the steps I have followed, and hopefully some of you might find errors on my methods, and suggest alternatives.
For this particular analysis, long-term studies should be more important than short-term because a few experiments showed transient effects, hence short-term studies might fail to capture that the effect is not really significant in the long-term. On my dataset, about half the studies have several non-independent measurements taken at different time-points (i.e. several annual measurements). Other experiments, despite having been carried out for several years, show the data already aggregated, with only one row per study with mean and standard deviation. I considered running a multivariate meta-analysis to solve this issue, but it would unbalance the analysis, giving more importance to the experiments with several rows of data (annual measurements) than to the experiments with aggregated data in only one row (pooled across several years). Am I right? This is an example of the dataset:
- Study 1, Year 1, Effect Size 1
- Study 1, Year 2, Effect Size 2
- Study 1, Year 3, Effect Size 3
- Study 2, Year 1, Effect Size 4
- Study 3, Years 1-4, Effect Size 5
- Study 4, Years 1-3, Effect Size 6
Alternatively, I decided to try and aggregate the data, so that finally there is only one row per study. I followed these steps:
Calculate effect sites for each row, including those studies with several rows (annual data). In this case, I calculated the log response ratio (ROM):
dat <- escalc (measure="ROM”, n1i=elev.rep, n2i=control.rep, m1i=elev.ANPP.mean, m2i=control.ANPP.mean, sd1i=elev.SD, sd2i=control.SD, data=all)
Aggregate studies using the function agg {MAd}. I used the Borenstein et al. 2009 method, and correlation=1:
datAgg <- agg(id = id,es = yi,var = vi, cor =1,method = "BHHR", data = dat)
I have now only one row per study. However, since long-term experiments are more important, I have created user-defined weights that take into account the number of replicates and the number of years of each study:
datAgg$weightsTime <- with(datAgg, ((control.rep * elev.rep)/(control.rep + elev.rep)) + ((nyears^2)/(2*nyears)))
Run the mixed-effects meta-regression with two moderators, using Hedges Estimator (HE) and the Knapp and Hartung approach:
m <- rma.uni(yi, vi, mods= ~ factor(A) * factor(B), method="HE", data=datAgg, weights=weightsTime, knha=TRUE)
Am I doing something wrong? Can this method be improved? So far the results confirm my hypothesis, but of course I might be using a sub-optimal approach. Many thanks