Help using Base SAS procedures

Splitting a data set into 10 equal deciles

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 5
Accepted Solution

Splitting a data set into 10 equal deciles

I have a dataset (1.2 million records) and I am wanting to assign a score of 1 to 10 to each record depending on the position in a list. I'm sure this is quite simple to do but I am new to SAS and I can't find anything on the forums. I'm guessing I need to rank the dataset first but then I'm not sure where to go from there. Any help would be gratefully received.


Accepted Solutions
Solution
‎04-29-2016 06:52 AM
Trusted Advisor
Posts: 1,204

Re: Splitting a data set into 10 equal deciles

Seems like you are trying to calculate lift based on a model. Try the following code that will split data into 10 groups based on descending values of Response_score variable. 

 

 

proc rank data=have groups=10 descending out=ranked;
var Response_score;
ranks decile;
run;

View solution in original post


All Replies
Super User
Posts: 5,256

Re: Splitting a data set into 10 equal deciles

Some sample input and desired output helps you describe your issue.

Especially describe the concept of a position in a list.

Data never sleeps
Occasional Contributor
Posts: 5

Re: Splitting a data set into 10 equal deciles

Thanks Linus. The file is a response file. Each line has a propensity score and I am trying to see the response rate by decile. For example:

 

Person_Key | Response Score | Responded

1 | 900 | 1

2 | 600 | 0

3 | 750 | 0...

 

I want to split the volume into 10 equal segments so I can see if I can refine the model to go deeper into marginal segments.

 

Does that help?

Solution
‎04-29-2016 06:52 AM
Trusted Advisor
Posts: 1,204

Re: Splitting a data set into 10 equal deciles

Seems like you are trying to calculate lift based on a model. Try the following code that will split data into 10 groups based on descending values of Response_score variable. 

 

 

proc rank data=have groups=10 descending out=ranked;
var Response_score;
ranks decile;
run;

Occasional Contributor
Posts: 5

Re: Splitting a data set into 10 equal deciles

That's correct. Thank you very much stat_sas.

☑ This topic is SOLVED.

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

Discussion stats
  • 4 replies
  • 5495 views
  • 2 likes
  • 3 in conversation