2014-06-16 6 views
0

저는 P 값이 1E-30에서 1까지 인 게놈 전체 관련 연구 데이터 세트로 작업하고 있습니다. p 값에 대한 변수 "p"를 포함합니다. I는 P- 변환 qchisq 함수를 사용하여 두 번째 행에 해당 명령에Z- 점수가 R 값이 작은 경우 R 값이 무한으로 반올림 됨

p=data$p 

    Zsq = qchisq(1-p, 1) 

    lambda = median(Zsq)/0.456 

    newZsq = Zsq/lambda 

    Newp = 1-pchisq(newZsq, 1) 

:

는 난 다음 코드를 사용하고 있는가의 p 값의 게놈 보정을 수행 할 필요 값을 z- 점수로, p- 값을 z- 점수로 표시 < 1E-16은 무한대로 반올림됩니다. 즉, 가장 중요한 데이터 포인트의 p- 값은 게놈 보정 후 0으로 반올림되며 순위가 떨어집니다.

이 문제가 발생합니까?

+1

으로 반올림하지 않도록합니다. lel. lower tail = FALSE 만 사용하십시오. 비교 :'1 - pchisq (100, 1)'과'pchisq (100, 1, lower.tail = FALSE)' – rawr

답변

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