더북(TheBook)

01 | 난수 생성 및 분포 함수

R은 주어진 통계 분포를 따르는 난수를 발생시키는 다양한 함수를 제공한다. 이 함수들은 난수random를 뜻하는 r 뒤에 분포명을 붙인 형태다. 표 7-1에 이항 분포, F 분포, 기하 분포 등 주요 분포에 대한 함수를 정리했다. 전체 목록은 도움말 help(“Distributions”)로 볼 수 있다.

표 7-1 확률 분포별 난수 발생 함수

확률 분포

난수 발생 함수

이항(Binomial) 분포

rbinom

F 분포

rf

기하(Geometric) 분포

rgeom

초기하(Hypergeometric) 분포

rhyper

음 이항(Negative Binomial) 분포

rnbinom

정규(Normal) 분포

rnorm

포아송(Poisson) 분포

rpois

t 분포

rt

연속 균등(Uniform) 분포

runif

이 함수들의 인자는 원하는 난수의 개수와 각 확률 분포의 파라미터다. 예를 들어, 정규 분포는 평균과 표준 편차를 인자로 받는다. 다음은 평균 0, 표준 편차 10인 정규 분포로부터 난수 100개를 뽑는 예다.

> rnorm(100, 0, 10)
 [1] 6.35522264 -15.91675609 0.11219825 2.81311412 8.94825134
 ...
[96] -4.70195484 12.33659335 -15.98517300 -13.41173703 -12.91536521

많은 수의 난수를 만들고 밀도 그림(‘6.8.3 밀도 그림(density)’ 절 참고)을 그려보면 그림 7-1에 보인 것처럼 데이터가 정규 분포를 잘 따르고 있음을 볼 수 있다.

> plot(density(rnorm(1000000, 0, 10)))
그림 7-1 rnorm( )으로 구한 정규 분포를 따르는 난수들의 밀도 그림
그림 7-1 rnorm( )으로 구한 정규 분포를 따르는 난수들의 밀도 그림
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.