全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2179 4
2016-10-20
假如 有三个班级 分别为 a b c 班 ,如下:

班级        学生
a        wang
a        li
a        sun
a        quan
a        bai
b        jin
b        zhang
b        li
b        han
c        qian
c        yu
c        li
c        cui
c        huang

a班b班c班  都有叫 li 的学生,但不是同一人  ,我想把他们区分开 ,(要想在名字后添加编号,如li1 li2 li3 这个怎么才能做到呢?)


请教大侠们,如何用SAS 区分。?
二维码

扫码加我 拉你入群

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

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

全部回复
2016-10-21 14:24:30
data student;
input class$ name $;
cards;
a        wang
a        li
a        sun
a        quan
a        bai
b        jin
b        zhang
b        li
b        han
c        qian
c        yu
c        li
c        cui
c        huang
;
run;

proc sort data=student;
        by name;
run;

data student_flagged;
        set student;
        retain flag;
        by name;
        if first.name then flag=1;
        if 1-first.name then flag=flag+1;
        new_name=cats(name,flag);
        drop flag;
run;


看看是否合适?
二维码

扫码加我 拉你入群

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

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

2016-10-21 14:28:15
data test;
input class $ student $;
cards;
a        wang
a        li
a        sun
a        quan
a        bai
b        jin
b        zhang
b        li
b        han
c        qian
c        yu
c        li
c        cui
c        huang
;
run;

data test1;
id=_n_;
set test;
run;

proc sort data=test1 out=test2 nouniquekey;
by student;
run;

data test3;
set test2;
if class="a" then student=cats(student,"1");
else if class="b" then student=cats(student,"2");
else if class="c" then student=cats(student,"3");
run;

data test4;
update test1 test3;
by id;
drop id;
run;
二维码

扫码加我 拉你入群

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

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

2016-10-22 13:37:02
baiyaoqian 发表于 2016-10-21 14:24
data student;
input class$ name $;
cards;
谢谢~~~~
二维码

扫码加我 拉你入群

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

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

2016-10-22 13:44:11
l1i2n3i4n5g 发表于 2016-10-21 14:28
data test;
input class $ student $;
cards;
谢谢~~~~
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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