全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1623 4
2012-11-22
已有数据为

70.00

75.00

5000.00

-150975.04

-91496.24

5200.00

-146216.74

-84358.78


想转换成下面这个样子:
v1v2v3

5000.00

70.00

-150975.04

5200.00

70.00

-146216.74

5000.00

75.00

-91496.24

5200.00

75.00

-84358.78


具体的是原有数据的第一行和第一列相当于变量名,对应5000和70的值是-150975.04,对应5200和70的值是-146216.74,以此类推
谢谢


二维码

扫码加我 拉你入群

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

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

全部回复
2012-11-23 13:42:24
使用了什么转换关系呢
二维码

扫码加我 拉你入群

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

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

2012-11-23 14:17:25
没看懂你这两个数据集的关系
二维码

扫码加我 拉你入群

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

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

2012-11-23 20:13:31
楼上两位兄弟,我又将问题说的更清楚了写,麻烦帮忙看看哈
二维码

扫码加我 拉你入群

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

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

2012-11-24 16:53:49
一种笨方法:
data a;
        input v1 v2 v3;
        cards;
.  70.00  75.00
5000.00 -150975.04 -91496.24
5200.00 -146216.74 -84358.78
;
run;
data b;
        set a (firstobs=1 obs=1 drop=v1);
run;
data c;
        set a (firstobs=2 obs=3 drop=v2 v3);
run;
proc transpose data=b out=d(drop=_name_ rename=(col1=v2));
run;
proc sql;
        create table e as
                select * from c,d
                        order by v2,v1;
quit;
data g;
        set a (firstobs=2 obs=3 drop=v1 v3);
run;
data h;
        set a (firstobs=2 obs=3 drop=v1 v2);
run;
proc append base=g data=h(rename=(v3=v2));
run;
data i;
        merge e g(rename=(v2=v3));
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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