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( )으로 구한 정규 분포를 따르는 난수들의 밀도 그림
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.