2016-04-28 4 views
0

Есть ли способ изменить и изменить пропорцию переменной в SAS при случайной выборке?SAS Изменение пропорции случайного образца

Допустим, у меня есть таблица, состоящая из 1000 человек. (500 мужчин и 500 женщин)

Если я хочу иметь случайную выборку из 100 с гендерными стратами - у меня будет 50 мужчин и 50 женщин на моем выходе.

Я хочу узнать, есть ли способ получить желаемую долю гендерных ценностей?

Может ли иметь случайный образец 100 с 70 мужчинами и 30 женщинами?

ответ

0

Обычно это то, что proc surveyselect для.

Но для быстрого и грязного раствора datastep:

data in_data; 
    do i= 1 to 500; 
     sex = 'M'; output; 
     sex = 'F'; output; 
    end; 
run; 
data in_data; 
    set in_data; 
    rannum = ranuni(12345); 
run; 
proc sort data= in_data; by rannum; run; 
data sample_data; 
    set in_data; 
    retain count_m count_f 0; 
    if  sex = 'M' and count_m lt 70 then do; count_m + 1; output; end; 
    else if sex = 'F' and count_f lt 30 then do; count_f + 1; output; end; 
run;  
proc freq data= sample_data; 
    table sex; 
run; 
2

PROC SURVEYSELECT это способ сделать это, используя набор данных для n или samprate вместо номера.

data strata_to_Sample; 
    length sex $1; 
    input sex $ _NSIZE_; 
datalines; 
M 70 
F 30 
;;;; 
run; 
proc sort data=strata_To_sample; 
    by sex; 
run; 

data to_sample; 
    set sashelp.class; 
    do _i = 1 to 1e5; 
    output; 
    end; 
run; 
proc sort data=to_Sample; 
    by sex; 
run; 

proc surveyselect data=to_sample n=strata_to_sample out=sample; 
    strata sex; 
run; 
Смежные вопросы