[R-meta] intercept-slope model & network meta-analysis

Viechtbauer Wolfgang (SP) wolfgang.viechtbauer at maastrichtuniversity.nl
Tue Aug 29 15:18:17 CEST 2017


Dear Juan,

Your email is completely garbled (see below). Please make sure you post in plain text and not in HTML.

Best,
Wolfgang

-----Original Message-----
From: R-sig-meta-analysis [mailto:r-sig-meta-analysis-bounces at r-project.org] On Behalf Of Juan Pablo Edwards Molina
Sent: Tuesday, August 29, 2017 14:27
To: r-sig-meta-analysis at r-project.org
Subject: [R-meta] intercept-slope model & network meta-analysis

Dear
​List
,

​I have a datset containing 36 field plots experiments testing the effect
of several fungicides to control a soybean fungic disease.

​
This is how my raw ​data looks like
​ ​
​
(36 independent studies - CRBDs)​:

  study      fungic   rep    Mod_A   Mod_B   sev yield
      1
​Check ​
     1    2High    1Low    55  2918
      1         Check
​ ​
     2    2High    1Low    50  3468
      1
​
Check
​ ​
   3    2High    1Low    45  1626
      1
​
Check
​ ​
   4    2High    1Low    40  2921
      1
​        Trt_A

​ ​
   1    2High    1Low    35  2414
      1
​
Trt_A
​

​ ​
   2    2High    1Low    40  3104
      1
​
Trt_A
​​

​ ​
  3    2High    1Low    25  1878
      1
​
Trt_A
​ ​
  4    2High    1Low    30  1952
      1
​
Trt_
​B

​ ​
   1    2High    1Low    40  2708
      1
​
Trt_
​B

​ ​
   2    2High    1Low    50  2475
​     ...​
     36

​
​At each study, ​a set of
fungic
​ides are the
treatments
​ including a Check​
(different combinations across the studies, that´s why I adopted network MA)
,
​"​
rep
​"​
 are the blocks,
​"​
sev
​"​
 is the disease (%) and
​"​
yield
​"​
 is the grain mass.

​The moderator variables are study-specific characteristics, like disease
pressure (Mod_A) or Yield potential (Mod_B)​

I have two objectives:

1° estimate the intercept and slope of the relationship yield ~ sev and
test the inclusion of moderator variables (I´m not testing the effect of
the treatments in this case, I´m interested on the trends of yield ~ sev)
​.
I started using a
multivariate
​
Two-Stage Analysis
​
​
approach then
​, f
ollowing the tutorial ​(
http://www.metafor-project.org/doku.php/tips:two_stage_analysis#mixed-effects_model_approach
)
​ ​
I moved to a multi-level
​
Mixed-Effects Models
​ with very similiar results (but much more time-efficiency)​
​
I am trying this:

# Overall random intercept and slopes
m1  <- lmer(yield ~ sev + (sev|study), data=df)

# Including effect of moderators on the intercept and slopes
m2  <- lmer(yield ~ sev * mod
​_​
A+ (sev|study), data=df)

# Including effect of moderator A on the intercept
m3  <- lmer(yield ~ sev + mod
​_​
A+ (sev|study), data=df)

# Including effect of moderator A on the slope
m4  <- lmer(yield ~ sev : mod
​_​
A+ (sev|study), data=df)

# Including effect of moderator A on the slope and moderator B on the
intercept
m5  <- lmer(yield ~ sev : mod
​_​
A + mod
​_​
B + (sev|study), data=longs)

Question: do I need to include the moderator variables in random effects?
​Is it enough to use the AIC to test the goodness of fit of the models and
likelihood ratio of them to select the best model?​

===============================

2° Then I do wanted to test the effect of treatments on yield, considering
mean differences to the untreated checks within each study.
So I performed a network meta-analysis, agreggating the data and estimating
the Mean Square Error from each study ANOVA
​:​


Aggregated data:

study     fungic
​  ​
yield
​_m​

​
​Mod_A
​
​   ​
​  Mod_B

​ ​
MSE
​
1
​Check

​ ​
2640
​     ​ 2_High     1_Low
88931.95
    1
Trt_A

​ ​
​ ​
2733
​  ​
2_High
​   ​

1_Low
​    ​
88931.95
    1
​      Trt_B

​  ​
2858
​  ​
2_High
​   ​

1_Low
​   ​

88931.95

​...

​where yield_m is the within-study treatment mean and MSE is the
within-study mean square error from ANOVA ​

​The model I tried is:​

net_D <- rma.mv(yield
​_m​
, vi2,
                mods = ~ fungic
​ * Mod_A​
,
                random = ~ fungic | study,
                struct= "UN", method="ML",
                data= df,
                control = list(optimizer="nlm"))

​anova(net_D, btt=9:14)  # to test the effect of moderators​

where vi2: vi = MSE / bk #Sampling variance for yi (bk = 4)

​My concern is if Am I going well with this model? ​or should I try to use
the raw data as well, considering the block effect?

Thanks for your help!

Juan
​ Edwards

(Phd candidate at Plant disease epidemiology lab in Univ. Sao Paulo -
Brazil)

	[[alternative HTML version deleted]]

_______________________________________________
R-sig-meta-analysis mailing list
R-sig-meta-analysis at r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-meta-analysis


More information about the R-sig-meta-analysis mailing list