[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