[R-meta] predict function for increment of 0.05 for the moderator

Martineau, Roger Roger.Martineau at AGR.GC.CA
Mon Oct 16 19:32:44 CEST 2017


Hi Anne-Wil,

Thanks a lot. This is exactly what I was looking for.

Best regards,

Roger ☺

-----Message d'origine-----
De : Anne-Wil Kruijt [mailto:mail at awkruijt.nl] 
Envoyé : 16 octobre 2017 13:28
À : Martineau, Roger; r-sig-meta-analysis at r-project.org
Objet : Re: [R-meta] predict function for increment of 0.05 for the moderator

Dear Roger, and list,

As an utter newbie to the list and not bothered by any specific knowledge of what you’re trying to do here precisely, I do think you’ll find that it works better when you use

(preds <- predict(res, newmods= seq(-.2, .2, by = 0.05) , digits=3,addx=TRUE))

Check the outputs for c(-0.2:0.2), c(-10:10) and seq(-.2, .2, by = 0.05) (just the ‘c’ and ‘seq’ bits of code) to see why. c(lb : ub) indeed increments by 1 unit by default – the seq() allows setting different increments. 

Hope that helps!


On 16/10/2017, 18:52, "R-sig-meta-analysis on behalf of Martineau, Roger" <r-sig-meta-analysis-bounces at r-project.org on behalf of Roger.Martineau at AGR.GC.CA> wrote:

    Dear metafor user,
    
    May be someone can help me on this one.
    
    I am using centered values for a moderator ranging from -0.2 to +0.2 and getting only the prediction for -0.2.
    How to get predictions for the range [-0.2 to 0.2] for a fixed increment of 0.05 for example: -0.20, -0.15, -0.10, -0.05, -0.00, 0.05, 0.10, 0.15 and 0.20.
    
    I used the BCG example and created a new centered value for ablat after dividing by 100 (didn’t back-transform to RR purposely).
    
    It looks like I am only obtaining predictions by 1 unit increment (not on a decimal scale).
    
    Thanks in advance,
    
    Roger ☺
    
    
    
    library(metafor)
    
    ### calculate (log) risk ratios and corresponding sampling variances
    (dat <- escalc(measure="RR", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat.bcg))
    
    dat <- within(dat, {
      Ablat.new <- ablat/100
      cAblat.new  <- Ablat.new - mean(Ablat.new,na.rm = TRUE)
      })
    
    ### fit mixed-effects model with absolute latitude as predictor
    (res <- rma(yi, vi, mods = ~ cAblat.new, data=dat))
    
    
    ### calculate predicted values for ablat.new
    ### N.B. omit "trans=exp" for this example
    
    
    range(dat$cAblat.new)
    
    [1] -0.2046154  0.2153846
    
    
    # if we predict for the range of values of cAblat.new
    
    (preds <- predict(res, newmods=c(-0.2:0.2), digits=3,addx=TRUE))
    
      pred    se ci.lb ci.ub  cr.lb cr.ub X.intrcpt X.ablat.new
    
     0.833 0.384 0.081 1.586 -0.094 1.761         1        -0.2
    
    
    # if we predict from 0.13 to 5.5:
    
    (preds <- predict(res, newmods=c(-10:10), digits=3,addx=TRUE))
    
          pred    se   ci.lb   ci.ub   cr.lb   cr.ub X.intrcpt X.ablat.new
    
    1   29.353 7.421  14.807  43.899  14.797  43.909         1         -10
    
    2   26.443 6.702  13.307  39.579  13.296  39.590         1          -9
    
    3   23.533 5.983  11.807  35.258  11.795  35.271         1          -8
    
    4   20.623 5.263  10.307  30.938  10.293  30.952         1          -7
    
    5   17.712 4.544   8.807  26.618   8.790  26.635         1          -6
    
    6   14.802 3.824   7.307  22.298   7.287  22.318         1          -5
    
    7   11.892 3.105   5.806  17.978   5.782  18.002         1          -4
    
    8    8.982 2.386   4.305  13.659   4.274  13.690         1          -3
    
    9    6.072 1.668   2.803   9.340   2.759   9.385         1          -2
    
    10   3.162 0.951   1.298   5.025   1.221   5.102         1          -1
    
    11   0.251 0.249  -0.237   0.740  -0.478   0.981         1           0
    
    12  -2.659 0.506  -3.650  -1.668  -3.788  -1.529         1           1
    
    13  -5.569 1.219  -7.957  -3.180  -8.018  -3.120         1           2
    
    14  -8.479 1.936 -12.274  -4.684 -12.313  -4.645         1           3
    
    15 -11.389 2.655 -16.593  -6.185 -16.621  -6.157         1           4
    
    16 -14.299 3.374 -20.913  -7.686 -20.935  -7.664         1           5
    
    17 -17.210 4.094 -25.233  -9.186 -25.251  -9.168         1           6
    
    18 -20.120 4.813 -29.553 -10.687 -29.568 -10.671         1           7
    
    19 -23.030 5.532 -33.873 -12.187 -33.886 -12.173         1           8
    
    20 -25.940 6.252 -38.193 -13.687 -38.205 -13.675         1           9
    
    21 -28.850 6.971 -42.513 -15.187 -42.524 -15.176         1          10
    
    
    
    	[[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