SAS数据集随机抽样方法
简单随机抽样是在做大数据量分析时经常用到的一个方法。
SAS提供了surveyselect过程步,可以很方便的实现。或者用数据步配合随机函数也可以较简便的完成。
/*生成100行数据的表*/
data temp;
do i = 1 to 100;
x = i;
output;
end;
drop i;
run;
/*使用proc surveyselect随机抽取10%*/
proc surveyselect data=temp method=srs rate=0.1
out=temp_2;
run;
/*rate=10也可以*/
proc surveyselect data=temp method=srs rate=10
out=temp_3;
run;
/*指定抽取个数也可以*/
proc surveyselect data=temp method=srs n=100
out=temp_4;
run;
/*使用data步,配合随机函数抽取*/
data temp_5;
set temp;
rdm = ranuni(round(time()));
run;
proc sort data = temp_5 out=temp_6; by rdm; run;
data temp_7;
set temp_6 nobs=n;
if _n_ <= n * 0.1;
run;