metafor (version 2.4-0)

blup: Best Linear Unbiased Predictions for 'rma.uni' Objects


The function calculates best linear unbiased predictions (BLUPs) of the study-specific true outcomes by combining the fitted values based on the fixed effects and the estimated contributions of the random effects for objects of class "rma.uni". Corresponding standard errors and prediction interval bounds are also provided.


blup(x, …)

# S3 method for rma.uni blup(x, level, digits, transf, targs, …)



an object of class "rma.uni".


numerical value between 0 and 100 specifying the prediction interval level (if unspecified, the default is to take the value from the object).


integer specifying the number of decimal places to which the printed results should be rounded (if unspecified, the default is to take the value from the object).


optional argument specifying the name of a function that should be used to transform the predicted values and interval bounds (e.g., transf=exp; see also transf). If unspecified, no transformation is used.


optional arguments needed by the function specified under transf.

other arguments.


An object of class "list.rma". The object is a list containing the following components:


predicted values.


corresponding standard errors.

lower bound of the prediction intervals.


upper bound of the prediction intervals.

some additional elements/values.

The "list.rma" object is formatted and printed with print.list.rma.


Kackar, R. N., & Harville, D. A. (1981). Unbiasedness of two-stage estimation and prediction procedures for mixed linear models. Communications in Statistics, Theory and Methods, 10, 1249--1261.

Raudenbush, S. W., & Bryk, A. S. (1985). Empirical Bayes meta-analysis. Journal of Educational Statistics, 10, 75--98.

Robinson, G. K. (1991). That BLUP is a good thing: The estimation of random effects. Statistical Science, 6, 15--32.

Viechtbauer, W. (2010). Conducting meta-analyses in R with the metafor package. Journal of Statistical Software, 36(3), 1--48.

See Also

rma.uni, predict.rma, fitted.rma, ranef.rma.uni


### calculate log risk ratios and corresponding sampling variances
dat <- escalc(measure="RR", ai=tpos, bi=tneg, ci=cpos, di=cneg,

### meta-analysis of the log risk ratios using a random-effects model
res <- rma(yi, vi, data=dat)

### BLUPs of the true risk ratios for each study
blup(res, transf=exp)

### illustrate shrinkage of BLUPs towards the (estimated) population average
res <- rma(yi, vi, data=dat)
blups <- blup(res)$pred
plot(NA, NA, xlim=c(.8,2.4), ylim=c(-2,0.5), pch=19,
     xaxt="n", bty="n", xlab="", ylab="Log Risk Ratio")
segments(rep(1,13), dat$yi, rep(2,13), blups, col="darkgray")
points(rep(1,13), dat$yi, pch=19)
points(rep(2,13), blups, pch=19)
axis(side=1, at=c(1,2), labels=c("Observed\nValues", "BLUPs"), lwd=0)
segments(.7, res$beta, 2.15, res$beta, lty="dotted")
text(2.3, res$beta, expression(hat(mu)==-0.71), cex=1)
# }