[R-meta] predict function for increment of 0.05 for the moderator
Anne-Wil Kruijt
mail at awkruijt.nl
Mon Oct 16 19:28:06 CEST 2017
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