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