Given k=n studies with b_1, ..., b_N being β's and se_1, ..., se_N standard errors from regression, the fixed effects model uses inverse variance weighting such that w_1=1/se_1^2, ..., w_N=1/se_N^2 and the combined β as the weighted average, β_f=(b_1*w_1+...+b_N*w_N)/w, with w=w_1+...+w_N being the total weight, the se for this estimate is se_f=√{1/w}. A normal z-statistic is obtained as z_f=β_f/se_f, and the corresponding p value p_f=2*pnorm(-abs(z_f)). For the random effects model, denote q_w=w_1*(b_1-β_f)^2+...+w_N*(b_N-β_f)^2 and dl=max(0,(q_w-(k-1))/(w-(w_1^2+...+w_N^2)/w)), corrected weights are obtained such that {w_1}_c=1/(1/w_1+dl), ..., {w_N}_c=1/(1/w_N+dl), totaling w_c={w_1}_c+...+{w_N}_c. The combined β and se are then β_r=(b_1*{w_1}_c+...+b_N*{w_N}_c)/w_c and se_r=sqrt(1/wc), leading to a z-statistic z_r=β_r/se_r and a p-value p_r=2*pnorm(-abs(z_r)). Moreover, a p-value testing for heterogeneity is p_{heter}=pchisq(q_w,k-1,lower.tail=FALSE).
1 |
data |
Data frame to be used |
N |
Number of studies |
verbose |
A control for screen output |
prefixb |
Prefix of estimate; default value is "b" |
prefixse |
Prefix of standard error; default value is "se" |
The function accepts a wide format data with estimates as b1,...,bN and standard errors as se1,...,seN. More generally, they can be specified by prefixes in the function argument.
The returned value is a data frame with the following variables:
p_f |
P value (fixed effects model) |
p_r |
P value (random effects model) |
beta_f |
regression coefficient |
beta_r |
regression coefficient |
se_f |
standard error |
se_r |
standard error |
z_f |
z value |
z_r |
z value |
p_heter |
heterogeneity test p value |
i2 |
I^2 statistic |
k |
No of tests used |
eps |
smallest double-precision number |
JPT Higgins, SG Thompson, JJ Deeks, DG Altman. Measuring inconsistency in meta-analyses. BMJ 327:557-60
Adapted from a SAS macro
Shengxu Li, Jing Hua Zhao
1 2 3 4 5 6 7 8 |
Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
Please suggest features or report bugs with the GitHub issue tracker.
All documentation is copyright its authors; we didn't write any of that.