2010-06-23 2 views
3

정규 분포 함수 pnorm()과 qnorm()을 사용하는 정규화 방법이 있습니다. 나는 정상적인 것으로 가정하지 않고 경험적 분포를 사용할 수 있도록 논리를 변경하고 싶다. 경험적 누적 분포를 계산하기 위해 ecdf()를 사용했지만 경험적으로 p와 q 버전 인 함수를 작성하기 시작했습니다. 이 작업을 수행하는 더 간단한 방법이 있습니까? 아마도 pecdf()와 qecdf()를 가진 패키지일까요? 나는 바퀴를 다시 발명하는 것을 싫어한다.R : 경험적 버전의 pnorm() 및 qnorm()?

답변

9

당신은 각각 qecdfpecdf를 얻기 위해 quantileecdf 기능을 사용할 수 있습니다

x <- rnorm(20) 
quantile(x, 0.3, type=1) #30th percentile 
Fx <- ecdf(x) 
Fx(0.1) # cdf at 0.1 
+0

예! 고맙습니다. 나는 "이것은 매우 단순해야한다"라고 계속 생각하고 있었지만 대답이 어려워졌습니다. 고맙습니다. –

1

정확히 어떤 부트 스트랩 값이 아닌가요?

그렇다면 적절한 위치에 벡터를 저장하고 정렬하고 읽습니다 (즉, 1 만개의 반복에서 5 %는 500). 게재 순위와 관련하여 미묘한 문제가 있습니다. help(quantile)에서 '유형'에 대해 설명합니다.

+0

난 당신이 옳다고 생각합니다. 나는 단지 어떤 기능이 이것을 할 것인지 생각할 수 없었다. 빠른 응답에 감사드립니다. 나는 기차에서 내리기 전에 질문을하고 2 개의 답을 얻을 수있었습니다. 환상적. –

2

ecdf와 경험적 배포 pnorm를 '모방'

> set.seed(42) 
> x <- ecdf(rnorm(1000)) 
> x(0) 
[1] 0.515 
> pnorm(0) 
[1] 0.5