【问题标题】:Weighted Rank in SASSAS中的加权排名
【发布时间】:2017-02-13 13:44:50
【问题描述】:

我有一张表,其中 R60、R90、R120、R150、R180 的分数不同,我如何根据这五个变量和 CODE_RAC 制作一个具有加权 排名的表,其中 NORM_PCT 有 40 % 权重,RB_PCT 有 30% 权重,RB_PCT 有 40% 权重][1]

您能在 SAS 企业版中帮我解决这个问题吗?请从数据集中找到附加的样本

【问题讨论】:

  • 1.请将您的示例数据作为文本发布在您的问题中。 2.您期望样本数据的输出是什么? 3. 到目前为止你尝试过什么?

标签: sas weighted-average


【解决方案1】:

企业版没有这样做,但我希望它会起作用。

应该有一个 proc rank 程序,它会为您进行排名。或者你可以通过计算的'排名变量(例如rank_calc)对数据进行排序。我很确定您可以一步完成,但这可能会提供更多信息。

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; 

更多排名见http://www.lexjansen.com/nesug/nesug09/ap/AP01.pdf

【讨论】:

  • 是的,我做了同样的事情,DATA TAB_APRIL_CL1; SET TAB_APRIL_CL; POS_PCT = SUM(TOT_POS_R60/TOTAL_POS);格式 POS_PCT 百分比8.2; NEW_SCORE = SUM(NORM_PCT_R60_SCORE * .4 , RB_PCT_R60_SCORE * .3, RESO_PCT_R60_SCORE * .3); NEW_SCORE = POS_PCT * NEW_SCORE; NEW_SCORE = 回合(NEW_SCORE);跑;不过谢谢!
猜你喜欢
  • 1970-01-01
  • 2016-03-17
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 2012-12-21
  • 2013-04-06
  • 2014-05-23
相关资源
最近更新 更多