全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2328 5
2011-04-12
上次提问马上有高人回复,受益匪浅。这次又得求助高人了。

目前数据的存储格式为:

id   group   var1 var2
1       1          1     1
2       1          0     1
3       2          1     0
4       2          0     0

想转换成下列格式:

group  id_1   var1_1   var2_1  id_2  var1_2 var2_2
1           1          1             1        2       0          1
2            3          1             0        4        0         0

stata中处理此类问题用命令reshape,求教SAS中对应的转换程序是什么?

万分感谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2011-4-12 11:13:36
你既然会stata 为什么一定要sas呢 stata不挺好的么
二维码

扫码加我 拉你入群

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

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

2011-4-12 13:20:09
因为要用SAS BI来自动运行程序,输出报表,所以急需SAS转换程序。
二维码

扫码加我 拉你入群

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

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

2011-4-12 16:26:19
data raw;
input id group var1 var2;
datalines;
1 1 1 1
2 1 0 1
3 2 1 0
4 2 0 0
;
run;
proc transpose data=raw out=a(where=(_name_='id'));
by group;
run;
proc transpose data=raw out=b(where=(_name_ like 'var%'));
by group;
run;
data x;
merge a(rename=(col1=id_1 col2=id_2)) b;
by group;
run;
二维码

扫码加我 拉你入群

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

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

2011-4-12 16:26:47
data m n;
set x;
if _name_='var1' then output m; else
if _name_='var2' then output n;
run;
data final;
merge m(rename=(col1=var1_1 col2=var1_2) drop=id_2) n(rename=(col1=var2_1 col2=var2_2) drop=id_1);
by group;
drop _name_;
run;
二维码

扫码加我 拉你入群

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

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

2011-4-12 16:59:39
试运行过了,虽然输出结果有一点出入,但我可以照此思路来改写。非常非常感谢!越来越离不开这个论坛了。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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