Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Calculate z scores from p-values to get SEs

    Hi, all

    I am trying to calculate z scores from p-values to get SEs using a logistic regression summary statistics data, a part of which is presented below.
    SNP P P(R) OR OR(R) Q I
    rs3094315 0.4913 0.4913 0.9420 0.9420 0.3873 0.00
    rs12562034 0.9737 0.9737 1.0022 1.0022 0.5991 0.00
    This is a meta-analysis data conducted by others.
    P is p value and (R) indicates random effect models. Q is Q statistic and I I2 index to assess the heterogeneity of the data.

    Since they did not provide SEs or 95% CIs in this summary statistics, I am using the following formulas to get SEs:
    SE=beta/z=ln(OR)/invnormal(p)
    beta=ln(OR)
    z=invnormal(p)

    Then, I got these results.
    SNP β z z(R) SE SE(R)
    rs3094315 -0.05975 -0.021809 -0.021809 2.739642 2.739642
    rs12562034 0.0021976 1.938190 1.938190 0.001134 0.001134
    I am wondering whether my calculation is correct or not, because the same calculations using a different data set, such as 1978 Automobile data, gave me completely different results.

    Code:
    logistic foreign price mpg rep78
    
    Logistic regression                             Number of obs     =         69
                                                    LR chi2(3)        =      34.08
                                                    Prob > chi2       =     0.0000
    Log likelihood = -25.362394                     Pseudo R2         =     0.4018
    
    ------------------------------------------------------------------------------
         foreign | Odds Ratio   Std. Err.      z    P>|z|     [95% Conf. Interval]
    -------------+----------------------------------------------------------------
           price |   1.000141   .0001379     1.03   0.305     .9998712    1.000412
             mpg |    1.18063   .0966693     2.03   0.043     1.005583    1.386148
           rep78 |   5.321595   2.656576     3.35   0.001     2.000398    14.15687
           _cons |   .0000112    .000032    -4.00   0.000     4.23e-08    .0029816
    ------------------------------------------------------------------------------
    If I am wrong, could you point out what is wrong about my calculations, please?

    I will really appreciate any help and comments.

  • #2
    Now I figure out I was stupid.
    Considering p=2*(1-norm|z|), |z|=invnorm(1-p/2) is the correct function. Am I right?

    Comment

    Working...
    X