BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
somebody
Lapis Lazuli | Level 10

I have a large dataset of stocks and daily returns. Because it is too large, I dont want to any analysis on the whole dataset. I would like to choose a subsample to play around with first. Say, I would like to take 50 stocks and I want all observations for those 50 stocks.

How can I achieve this?

 

1 ACCEPTED SOLUTION

Accepted Solutions
PeterClemmensen
Tourmaline | Level 20

So just pick 50 random stocks in your data set and retrieve every observation of those stocks, correct?

 

If so, then I think the Cluster Statement in PROC SURVEYSELECT is the way to go

 

data stocks(drop=i);
   do i=1 to 1e5;
      stock=rand('integer', 1, 1000);
      output;
   end;
run;

proc surveyselect data=stocks method=srs n=50 seed=123 out=want;
   cluster stock;
run;

View solution in original post

1 REPLY 1
PeterClemmensen
Tourmaline | Level 20

So just pick 50 random stocks in your data set and retrieve every observation of those stocks, correct?

 

If so, then I think the Cluster Statement in PROC SURVEYSELECT is the way to go

 

data stocks(drop=i);
   do i=1 to 1e5;
      stock=rand('integer', 1, 1000);
      output;
   end;
run;

proc surveyselect data=stocks method=srs n=50 seed=123 out=want;
   cluster stock;
run;

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

How to Concatenate Values

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.

SAS Training: Just a Click Away

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

Browse our catalog!

Discussion stats
  • 1 reply
  • 760 views
  • 2 likes
  • 2 in conversation