2016-12-21 16 views
0

lmerで構築された混合効果モデル(m)のP値を取得しようとしています。lmer出力が非常に低いP値

私はP値を抽出するために以下のコマンドを使用していますが、残念ながら私はこれらのコマンドの場合、P = 0.0000になります。< 10-16。下記の例をご覧ください:

coefs <- data.frame(coef(summary(m))) 
coefs$p.z <- 2 * (1 - pnorm(abs(coefs$t.value))) 
coefs 

         Estimate Std..Error t.value   p.z 
(Intercept)  17.32329080 0.39098373 44.3069347 0.000000e+00 
variable   0.61802971 0.03804828 16.2433009 0.000000e+00 
DietDiet1   1.44932534 0.48893732 2.9642355 3.034360e-03 
DietDiet2   18.76067056 0.76890739 24.3991289 0.000000e+00 

これらの抽出値はどのように計算できますか?

答えて

1

1-pをより正確に計算するには、lower.tail=FALSE引数を使用できるようにしてください。

coefs$p.z <- 2 * pnorm(abs(coefs$t.value),lower.tail=FALSE) 

あなたは本当に小さなp値を持っている場合(すなわち< 1E-300は1e-16よりむしろ<)それでもログ-pのスケールでそれらを計算することができます。

logpval <- log(2) + pnorm(abs(coefs$t.value), log.p=TRUE, lower.tail=FALSE) 
関連する問題