BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Greeshma
Fluorite | Level 6

How to split the data into three randoms sets: 60% in a building set, %10 in a test set and 30% in a validation set.

1 ACCEPTED SOLUTION

Accepted Solutions
PGStats
Opal | Level 21

You can use the GROUPS= option in proc surveyselect. You must provide the exact set sizes of calculate them like this:

 

proc sql;
select 
    round(0.6*count(*)) as n1,
    round(0.1*count(*)) as n2,
    count(*) - calculated n1 - calculated n2 as n3
into :n1, :n2, :n3
from sashelp.class;
quit;

proc surveyselect data=sashelp.class groups=(&n1 &n2 &n3) out=samples;
run;

 

 

PG

View solution in original post

4 REPLIES 4
PGStats
Opal | Level 21

You can use the GROUPS= option in proc surveyselect. You must provide the exact set sizes of calculate them like this:

 

proc sql;
select 
    round(0.6*count(*)) as n1,
    round(0.1*count(*)) as n2,
    count(*) - calculated n1 - calculated n2 as n3
into :n1, :n2, :n3
from sashelp.class;
quit;

proc surveyselect data=sashelp.class groups=(&n1 &n2 &n3) out=samples;
run;

 

 

PG
Greeshma
Fluorite | Level 6
Thank you, that helped.
Ksharp
Super User
data train validate test;
 set sashelp.heart;
 call streaminit(123456789);
 x=rand('table',0.6,0.3,0.1);
 if x=1 then output train;
  else if x=2 then output validate;
   else output test;
drop x;
run;



Greeshma
Fluorite | Level 6
Thank you

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

What is Bayesian Analysis?

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 2477 views
  • 10 likes
  • 3 in conversation