## how to get sampled output data without sorting

Solved
Occasional Contributor
Posts: 14

# how to get sampled output data without sorting

Hi, every one.

Recently, I am trying to select some sample using PROC SURVEYSELECT procedure.

I want to give the sequence the obeservtion, for example, the I have 5 observation, 1 to 5.

the sequecne for sampling without replacement may be is 3 5 4 1 2.

but, everytime the sas only give me the output data which has been sorted.

so, i only can have a data set is 1 to 5.

I check the statement, the sort statement also does not provide the function I asked.

if there is a easy way to get the results I want?

Accepted Solutions
Solution
‎10-26-2015 10:30 PM
Posts: 5,521

## Re: how to get sampled output data without sorting

if you want your sample to appear in random order, you must generate the permutation yourself. For example:

``````data test;
call streaminit(76575);
do x = 10 to 1 by -1;
order = rand("UNIFORM");
output;
end;
run;

proc surveyselect data=test out=sample5 sampsize=5 seed=866787;
run;

proc sort data=sample5 out=sample5(drop=order); by order; run;``````
PG

All Replies
Super User
Posts: 23,677

## Re: how to get sampled output data without sorting

You should post some code and what your input data looks like and what you expect.
Posts: 4,736

## Re: how to get sampled output data without sorting

I would expect Proc Surveyselect to use an algorithm where it choses each record with a certain probability. If so then the sort order of the target data set should be the same like the one of the source data set (like: obs3, obs7, obs9,...).

Solution
‎10-26-2015 10:30 PM
Posts: 5,521

## Re: how to get sampled output data without sorting

if you want your sample to appear in random order, you must generate the permutation yourself. For example:

``````data test;
call streaminit(76575);
do x = 10 to 1 by -1;
order = rand("UNIFORM");
output;
end;
run;

proc surveyselect data=test out=sample5 sampsize=5 seed=866787;
run;

proc sort data=sample5 out=sample5(drop=order); by order; run;``````
PG
🔒 This topic is solved and locked.

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

Discussion stats
• 3 replies
• 339 views
• 0 likes
• 4 in conversation