Hello Everyone,
I have a large sample and I want to split it into subsamples (new files) with equal number of observation to process one by one.
So say in the below sample with 10 obs, how can I ask SAS to make a 5 NEW FILEs A1 A2 A3 A4 A5 , each has 2 obs.
I can do the calculation of number obs and number of subsample manually myself.
Thank you for your help.
HHC
data a;
input id value;
datalines;
1 2
2 3
3 2
4 6
5 9
6 6
7 95
8 9
9 12
10 1
;run;
If you want to add a grouping variable one way would be:
groupid = mod(_n_,number of groups);
Which will mark every nth record. If your dataset is not an exact multiple of n then you will have one more record for some groups.
The default values will go 0 to n-1, if you want 1 to n then add 1:
groupid = 1+ mod(_n_,number of groups);
If you want to add a grouping variable one way would be:
groupid = mod(_n_,number of groups);
Which will mark every nth record. If your dataset is not an exact multiple of n then you will have one more record for some groups.
The default values will go 0 to n-1, if you want 1 to n then add 1:
groupid = 1+ mod(_n_,number of groups);
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.