全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1538 2
2019-06-02
一个原始数据集,对应每人的项目评分,每人的最终得分为项目评价的最高级,请问在SAS中如何进行这个分组判断?
示例:
name

project

estimate

TOM

A

中等

TOM

B

优秀

TOM

C

中等

TOM

D

良好

Mary

A

中等

Mary

B

良好

Jack

A

中等



TOM有4个项目,其中有一个是优秀等级,因此最终为优秀;Mary有2个项目,最高是良好,因此最终为良好;Jack有1个项目,评价为中等,因此最终为中等,优秀>良好>中等,结果要输出这个数据集:

name

level

TOM

优秀

Mary

良好

Jack

中等



求教大神们,在SAS中如何实现这个判断?谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-6-4 15:57:06

data rating;

format name $10.      project $10.      estimate $10.;

input name $      project $      estimate $;

cards;

TOM   A     中等

TOM   B     优秀

TOM   C     中等

TOM   D     良好

Mary  A     中等

Mary  B     良好

Jack  A     中等;

run;

proc
format;

value $r

'优秀'=1

'良好'=2

'中等'=3;

run;


data r2;

set rating;

level =put(estimate,$r.)*1;

run;


proc sort data = r2;

by name level;

run;


data result;setr2;

by name;

if first.name;

keep name estimate;

run;

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-6-8 09:19:05
luekemia 发表于 2019-6-4 15:57
data rating;format name $10.      project $10.      estimate $10.;input name $      project $       ...
的确可以成功!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群