< Q_09_03. 난수를 만들어 표본을 추출하기 - UNIFORM( ) 함수 이용
본문 바로가기
SAS연습200제/확률분포와통계적분석기법

Q_09_03. 난수를 만들어 표본을 추출하기 - UNIFORM( ) 함수 이용

by sas 2025. 3. 28.

SAS에서 UNIFORM 함수를 사용하여 난수를 생성하고 이를 통해 표본을 추출할 수 있습니다. UNIFORM 함수는 0과 1 사이의 균등분포를 따르는 난수를 생성하며, 이를 기반으로 원하는 크기의 표본을 추출할 수 있습니다.
다음은 UNIFORM 함수를 사용하여 표본을 추출하는 예제입니다.

data my_data;
    input id value;
    datalines;
    1 10
    2 15
    3 20
    4 25
    5 30
    6 35
    7 40
    8 45
    9 50
    10 55
;
run;

data sample_data;
    set my_data;
    if uniform(12345) < 0.3; /* 30% 확률로 표본 추출 */
run;

proc print data=sample_data;
run;

코드 설명

  • DATA my_data;: 원본 데이터를 정의합니다.
    • id와 value 변수로 구성된 데이터를 생성합니다.
  • DATA sample_data;: 표본을 추출할 새로운 데이터셋을 생성합니다.
  • IF UNIFORM(12345) < 0.3;: UNIFORM 함수를 사용하여 각 행에서 0과 1 사이의 난수를 생성하고, 30% 확률(0.3)로 표본을 추출합니다.
    • 12345는 시드값으로, 이를 변경하면 다른 난수 시퀀스를 생성할 수 있습니다.
    • 0.3을 다른 값으로 설정하여 추출 비율을 조정할 수 있습니다.
  • PROC PRINT DATA=sample_data;: 추출된 표본을 확인합니다.

결과

이 방법을 사용하면 원본 데이터에서 지정된 비율(예: 30%)에 따라 무작위로 표본을 추출할 수 있습니다.