简体   繁体   中英

Weighted Rank in SAS

I have a table with different scores for R60,R90,R120,R150,R180 and how can I make one table with a weighted rank based on this five variables, and CODE_RAC where NORM_PCT has 40% weightage, RB_PCT has 30% weightage and RB_PCT has 40% weightage ][1]

Can you help me with this in SAS Enterprise Edition? Please find the sample attached from the dataset

在此处输入图片说明

This isn't done with enterprise edition, but I hope it would serve.

There should be a proc rank program, which does the ranking for you. Either that or you can just sort the data by calculated 'ranking variable (rank_calc in example). I'm quite sure you could do this in single step, but may this be more informative.

data Begin;
    length code_rac $10 norm_R60 3 rb_R60 3 Reso_R60 3;
    input code_rac norm_R60 rb_R60 Reso_R60;
    datalines;
    first 10 6 2
    second 0 0 10 
    third 8 6 4
    forth 0 10 7
    fifth 0 0 8 
    ;
ruN;

data begin; /*Calculate weighted value for ranking*/
    set begin;
    rank_calc= norm_R60*0.4 + rb_R60*0.3 + Reso_R60*0.4;
run;

proc rank data=begin out=sorted_by_rank; 
    var rank_calc;
    ranks my_rank; 
run; 

For more on ranking see http://www.lexjansen.com/nesug/nesug09/ap/AP01.pdf

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM