全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1221 8
2013-04-29
悬赏 300 个论坛币 已解决
请问高手,怎样把数据集中的数据重新分组,我的数据aaa如下,现在我想建立一个新的数据集bbb,使数据集中的age有3个组别 a组、 b组、c组,其中a组包含aaa中的“1”与“2”, b组包含aaa中的“3”、“4”与“5”,c组包含aaa中的“6”,谢谢高手指点!

data aaa;
input age x;
cards;
1       3
1       3
1       2
1       5
2       4
2       6
2       7
2       6
3       9
3      10
3       4
3       6
4      12
4      14
4      10
4      13
5      13
5      16
5      17
5      20
6      23
6      22
6      30
6      26  
;
run;
proc means data=aaa;
var x;
class  age;
run;  

最佳答案

yongyitian 查看完整内容

data bbb; set aaa; if age in (1, 2) then Age_group='a'; if age in (3, 4, 5) then Age_group ='b'; if age = 6 then Age_group='c'; run; proc means data=bbb; var x; class age_group; run;
二维码

扫码加我 拉你入群

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

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

全部回复
2013-4-29 21:48:07
data bbb;
    set aaa;
        if age in (1, 2) then Age_group='a';
        if age in (3, 4, 5) then Age_group ='b';
        if age = 6 then Age_group='c';
run;

proc means data=bbb;
var x;
class  age_group;
run;
二维码

扫码加我 拉你入群

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

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

2013-4-29 22:14:38
data bbb;
    set aaa(rename=(age=age_old));
        if age_old in (1,2) then age="a";
        else if age_old in (3,4,5) then age="b";
        else if age_old=6 then age="c";
run;
二维码

扫码加我 拉你入群

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

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

2013-4-29 22:15:04
楼主,这悬赏好高啊,虽然这样很简单,但我想应该符合你的要求!
data bbb;
input age$ x;
cards;
a        3
a        3
a        2
a        5
a        4
a        6
a        7
a        6
b        9
b        10
b        4
b        6
b        12
b        14
b        10
b        13
b        13
b        16
b        17
b        20
c        23
c        22
c        30
c        26
;
run;
proc means data=aaa;
var x;
class  age;
run;  
二维码

扫码加我 拉你入群

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

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

2013-4-29 22:16:12

proc format;
   value agefmt   1,2="a"
                3,4,5="b"
                                    6="c";
run;

data bbb;
    set aaa(rename=(age=age_old));
    age=put(age_old,agefmt.);
run;
二维码

扫码加我 拉你入群

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

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

2013-4-29 22:19:48
proc sql;
    create table bbb as
          select case
                   when age in (1,2) then "a"
               when age in (3,4,5) then "b"
               when age=6 then "c"
                           else ""
                           end as age, x
       from aaa;
quit;
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
栏目导航
热门文章
推荐文章

说点什么

分享

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