Help using Base SAS procedures

Sampling a dataset without replacement.

Accepted Solution Solved
Reply
New Contributor
Posts: 2
Accepted Solution

Sampling a dataset without replacement.

I have a small dataset ( ~2000 obs) and ~20 vars of which the var X is really crucial. Var x has values ( a and b ) such that a:b =6:4. I want to create two samples ( 1800 Obs and 200 obs) of this dataset such that in final datasets it keeps the ratio of a :b in var x same (6:4). How shall i do that.


Accepted Solutions
Solution
‎10-30-2014 09:33 AM
Trusted Advisor
Posts: 2,115

Re: Sampling a dataset without replacement.

Separate the original dataset into two, one for x=a and the other for x=b.

From x=a data set sample 1080 (60% of 1800) and 120 (60% of 200).  Do analogously for x=b data set.

Join the two subset to get the final file of 1800.  Ditto for 200.

When I do a sample without replacement, I will often add a variable to the data generated with ranuni (or one of the other random number generators in SAS), sort on that variable and then just do a DATA step to sequentially pull the samples.  You should also be able to do this with PROC SURVEYSELECT, but I like the simplicity in interpretation of the DATA step.

View solution in original post


All Replies
Contributor
Posts: 45

Re: Sampling a dataset without replacement.

Can you please give some example of output datasets?

Solution
‎10-30-2014 09:33 AM
Trusted Advisor
Posts: 2,115

Re: Sampling a dataset without replacement.

Separate the original dataset into two, one for x=a and the other for x=b.

From x=a data set sample 1080 (60% of 1800) and 120 (60% of 200).  Do analogously for x=b data set.

Join the two subset to get the final file of 1800.  Ditto for 200.

When I do a sample without replacement, I will often add a variable to the data generated with ranuni (or one of the other random number generators in SAS), sort on that variable and then just do a DATA step to sequentially pull the samples.  You should also be able to do this with PROC SURVEYSELECT, but I like the simplicity in interpretation of the DATA step.

SAS Super FREQ
Posts: 3,752

Re: Sampling a dataset without replacement.

For more details on Doc's advice, see the article   Sample without replacement in SAS - The DO Loop

New Contributor
Posts: 2

Re: Sampling a dataset without replacement.

Thanks a lot Doc@Duke and Rick. It is really helpful.

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 234 views
  • 3 likes
  • 4 in conversation