0

私は、1E-30 から 1 の範囲の p 値を持つゲノム全体の関連研究データセットを使用しています。p 値の変数「p」を含む R データフレーム「データ」があります。

次のコードを使用して、p 値のゲノム補正を実行する必要があります。

    p=data$p

    Zsq = qchisq(1-p, 1)

    lambda = median(Zsq)/0.456

    newZsq = Zsq/lambda

    Newp = 1-pchisq(newZsq, 1)

2 行目のコマンドでは、qchisq 関数を使用して p 値を z スコアに変換しています。p 値 < 1E-16 の z スコアは無限大に丸められています。これは、最も重要なデータ ポイントの p 値がゲノム補正後に 0 に丸められ、ランキングが失われることを意味します。

これを回避する方法はありますか?

4

1 に答える 1

0

読んでくださいhelp(".Machine")。次にlower.tail=FALSE、1 との差を設定して回避します。

p <- 1e-17

Zsq = qchisq(p, 1, lower.tail=FALSE)

lambda = median(Zsq)/0.456

newZsq = Zsq/lambda

Newp = pchisq(newZsq, 1, lower.tail=FALSE)
#[1] 0.4994993
于 2014-06-16T14:19:59.177 に答える