全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1791 4
2015-04-27
有数据have,结构如下:data have;
input y $2. ab cd ef ;
datalines;
cd 1 3 5
ab 2 4 5
ef 1 3 4
ab 1 3 2
;
run;


希望得到的新数据如下, 在新数据里有一个新变量z,用来存储通过变量y挑选出来的ab,cd和ef的对应值。比如说,第一行里y的值是cd, z存储的值就是cd的值, 也就是3;第二行里y对应的是ab,z就存储ab的值,也就是2, 依此类推。
得到的新数据h应该是这样的:
obs y   ab  cd   ef   z
1   cd  1    3   5     3
2   ab  2    4   5     2
3   ef   1    3   4     4
4   ab  1    3   2     1


有高手帮忙看一下吗!非常感谢!

二维码

扫码加我 拉你入群

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

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

全部回复
2015-4-27 08:18:58
复制代码
二维码

扫码加我 拉你入群

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

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

2015-4-27 08:53:49
yongyitian 发表于 2015-4-27 08:18
谢谢!!
二维码

扫码加我 拉你入群

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

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

2015-5-4 17:04:11
数组,漂亮~~~
二维码

扫码加我 拉你入群

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

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

2015-5-5 15:17:47
data want2(drop=i);
        set have;
        array myarr{*} _numeric_;
        do i=1 to dim(myarr);
                put myarr{i};
                if y=vname(myarr{i}) then z=myarr{i};
        end;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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