Hello,
I'm trying to sample data into development sample and validation sample using proc surveyselect, but the output shown is not sampled returning the same original dataset.The code I used is
proc surveyselect data=stores1 out=devsample method=srs samprate=0.5 outall;
run;
I also used ranuni function but the result is same , no sampling is done
data devsample;
set stores1;
if ranuni(100)<0.50 then output=devsample;
run;
please correct me where I went wrong
Both seem o.k. (remove "=" from the 2nd program). Do you get an error? Could stores1 be empty? ..
Data Stores1;
Do ID1=1 To 30;
Do ID2=1 To 30;
Value=Ranuni(1);
Output;
End;
End;
Run;
proc surveyselect data=stores1 out=devsample method=srs samprate=0.5 outall;
run;
data devsample2;
set stores1;
if ranuni(100)<0.50 then output devsample2; * remove equal sign!;
run;
what happens when '=' is used ?
If you use '=', you create a variable with the name 'output'. Then a second variable is created with the file name 'devsample'. Because there are no entries for 'devsample', in effect you are creating 2 variables with missing values, and write it to the (/all) data files declared in the DATA-statement at the beginning.
Hi,
proc surveyselect data=stores1 out=devsample method=srs samprate=0.5 outall;
run;
outall option creates a variable "selected" that provides a flag to separate two data sets. You need a data step to create two data sets. Please try this after proc surveyselect:
data develop validate;
set devsample;
if selected then output develop;
else output validate;
run;
SAS is headed back to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team.
Interested in speaking? Content from our attendees is one of the reasons that makes SAS Innovate such a special event!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.