I have two datasets from genome-wide association studies. The only information available is the odds ratio and the p-value for the first data set. For the second data set I have the Odds Ratio, p-value and allele frequencies (AFD= disease, AFC= controls) (e.g: 0.321). I'm trying to do a meta-analysis of these data but I don't have the effect size parameter to perform this. Is there a possibility to calculate the SE and OR confidence intervals for each of these data only using the info that is provided??
Thank you in advance

example: Data available:

    Study     SNP ID      P        OR    Allele   AFD    AFC
    1         rs12345    0.023    0.85
    2         rs12345    0.014    0.91     C      0.32   0.25

With these data can I calculate the SE and CI95% OR ? Thanks


1 Answer 1


You can calculate/approximate the standard errors via the p-values. First, convert the two-sided p-values into one-sided p-values by dividing them by 2. So you get $p = .0115$ and $p = .007$. Then convert these p-values to the corresponding z-values. For $p = .0115$, this is $z = -2.273$ and for $p = .007$, this is $z = -2.457$ (they are negative, since the odds ratios are below 1). These z-values are actually the test statistics calculated by taking the log of the odds ratios divided by the corresponding standard errors (i.e., $z = log(OR) / SE$). So, it follows that $SE = log(OR) / z$, which yields $SE = 0.071$ for the first and $SE = .038$ for the second study.

Now you have everything to do a meta-analysis. I'll illustrate how you can do the computations with R, using the metafor package:

yi  <- log(c(.85, .91))     ### the log odds ratios
sei <- c(0.071, .038)       ### the corresponding standard errors
res <- rma(yi=yi, sei=sei)  ### fit a random-effects model to these data

Random-Effects Model (k = 2; tau^2 estimator: REML)

tau^2 (estimate of total amount of heterogeneity): 0 (SE = 0.0046)
tau (sqrt of the estimate of total heterogeneity): 0
I^2 (% of total variability due to heterogeneity): 0.00%
H^2 (total variability / within-study variance):   1.00

Test for Heterogeneity: 
Q(df = 1) = 0.7174, p-val = 0.3970

Model Results:

estimate       se     zval     pval    ci.lb    ci.ub          
 -0.1095   0.0335  -3.2683   0.0011  -0.1752  -0.0438       ** 

Note that the meta-analysis is done using the log odds ratios. So, $-0.1095$ is the estimated pooled log odds ratio based on these two studies. Let's convert this back to an odds ratio:

predict(res, transf=exp, digits=2)

 pred  se ci.lb ci.ub cr.lb cr.ub
 0.90  NA  0.84  0.96  0.84  0.96

So, the pooled odds ratio is .90 with 95% CI: .84 to .96.

  • $\begingroup$ It seems to me that the SE values computed in the first paragraph must be the standard errors of the logarithm of the odds ratio, not the standard errors of the odds ratio itself. $\endgroup$ Commented May 6, 2011 at 13:35
  • $\begingroup$ Correct. We need the SE of the log odds ratios, not the odds ratios. The meta-analysis is conducted using the log odds ratios, as these are symmetric around 0 (as opposed to the odds ratios, which are not symmetric around 1) and whose distribution is much closer to normality. $\endgroup$
    – Wolfgang
    Commented May 6, 2011 at 20:06
  • $\begingroup$ @Wolfgang, thank you very much for your answer, I'm actually using what you describe, in my work, so I need some references... can you helpme with a citation for the formulas?? thank you in advance $\endgroup$ Commented Oct 20, 2011 at 17:05
  • $\begingroup$ Well, this is all stuff based on "first principles", so I am not sure what an appropriate reference would be. You could cite, for example, The Handbook of Research Synthesis and Meta-Analysis (Link). $\endgroup$
    – Wolfgang
    Commented Oct 21, 2011 at 6:57
  • 2
    $\begingroup$ Actually, the manual is inaccurate (pngu.mgh.harvard.edu/~purcell/plink/metaanal.shtml). Look at the first example. For SNP rs915677, $OR = 0.7949$ and $SE = 0.5862$. That standard error is for the log odds ratio. The CI is given by $\exp(\log(OR) \pm 1.96 SE)$. In this case: $\exp(\log(0.7949) \pm 1.96 \times 0.5862) = (0.252, 2.508)$, exactly as shown in the output. $\endgroup$
    – Wolfgang
    Commented Jun 19, 2015 at 13:20

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.