2
$\begingroup$

I have traditionally used this simple test of interaction (http://www.bmj.com/content/326/7382/219) for comparing effect sizes between studies, and I would like to start performing it in R. Although I have scripted a custom function for it, I have also been told about the "metafor" package and decided to give it a try. However, I am not able to reproduce the results of the paper using the rma function, probably because I do not understand the statistical basis behind it. Using the log RRs (-0.4005 and -0.1278) and SEs (0.1929 and 0.1070) from the paper, if I try to fit a fixed-effects model, here is what I get:

Fixed-Effects Model (k = 2)

estimate       se     zval     pval    ci.lb    ci.ub          
 -0.1920   0.0936  -2.0518   0.0402  -0.3754  -0.0086        * 

I thought it could be due to the inverse-variance weighting, and when I disabled it the estimate got closer to that of the paper, but the standard error is still off by a wide margin, and so are the rest of the values.

Fixed-Effects Model (k = 2)

estimate       se     zval     pval    ci.lb    ci.ub          
 -0.2642   0.1103  -2.3950   0.0166  -0.4803  -0.0480        * 

So, I'm assuming that the z-values shown in the Altman & Bland paper and in the rma output are different. Does someone know what their difference is? Can the fixed-effects model included in "metafor" be used for these kind of simple interaction tests?

$\endgroup$

1 Answer 1

1
$\begingroup$

To answer your last question: Yes. What you are doing is pooling the two log RRs, when in fact you want to compare them. You can do that easily by adding a dummy variable to the model and testing the corresponding coefficient. Let me reproduce the results from the paper you cited:

library(metafor)

yi  <- c(-0.4005, -0.1278) # the log RRs
sei <- c(0.1929, 0.1070)   # corresponding SEs
xi  <- c(1,0)              # dummy variable

res <- rma(yi, sei=sei, mods = ~ xi, method="FE")
res

This yields:

Fixed-Effects with Moderators Model (k = 2)

Test for Residual Heterogeneity: 
QE(df = 0) = 0.0000, p-val = 1.0000

Test of Moderators (coefficient(s) 2): 
QM(df = 1) = 1.5283, p-val = 0.2164

Model Results:

                      se     zval    pval    ci.lb   ci.ub   
intrcpt  -0.1278  0.1070  -1.1944  0.2323  -0.3375  0.0819   
xi       -0.2727  0.2206  -1.2362  0.2164  -0.7050  0.1596   

---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

The results given under the Model Results for the dummy variable (xi) correspond to those given in the paper (the minor discrepancies are due to rounding errors).

To get the ratio of relative risks, you can use:

predict(res, newmods=1, intercept=FALSE, transf=exp, digits=2)

This yields:

  pred ci.lb ci.ub
1 0.76  0.49  1.17

Again, the same as given in the paper.

$\endgroup$
1
  • $\begingroup$ Ah, thanks a lot! :) I was reading about moderators and I thought the answer might lie there somewhere, but wasn't quite seeing it. Now its very clear! $\endgroup$
    – Pintaius
    Sep 24, 2014 at 8:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.