全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
13341 8
2014-09-23
请教:有一个现成的数据集叫做ID,存放在E:\SAS路径下。
现在我想截取这个数据集中的某两个字段:Name和ID Number,生成一个新的数据集。
另要求:只取ID Number前两位是12的数值及其对应的Name。
请问应该怎么写语言,从而形成一个新的数据集,新的数据集也存放在E:\SAS路径里。

PS:请写详细一点,本人还是菜鸟一枚~需要先定义逻辑库吗?
二维码

扫码加我 拉你入群

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

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

全部回复
2014-9-24 09:57:33
没人回答吗?自己顶~
二维码

扫码加我 拉你入群

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

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

2014-9-24 11:06:20
libname xx "E:\sas";
data xx.new;set xx.id;
if substr(number,1,2)=12;
keep name number;
run;
二维码

扫码加我 拉你入群

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

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

2014-9-24 16:46:37
crazygoing 发表于 2014-9-24 11:06
libname xx "E:sas";
data xx.new;set xx.id;
if substr(number,1,2)=12;
多谢!已经解决了!不过,还有个新问题,烦请解答一下:现在Name这一列,我想把他变成数字,比如姓王和张的为第一组,显示为数字1,姓刘和李得为第二组,显示为数字2等等。这个又该怎么写呢?
二维码

扫码加我 拉你入群

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

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

2014-9-24 22:48:36
红领巾0101 发表于 2014-9-24 16:46
多谢!已经解决了!不过,还有个新问题,烦请解答一下:现在Name这一列,我想把他变成数字,比如姓王和张 ...
考虑新建临时变量。
data ...;
[other sas statements]
if name='wang' or 'zhang' then name_temp = 1;
else if name = 'xxx' or 'yyy' then name_temp = 2;
[...]
name = name_temp;
drop name_temp;
run;
二维码

扫码加我 拉你入群

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

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

2014-9-25 10:25:37
红领巾0101 发表于 2014-9-24 16:46
多谢!已经解决了!不过,还有个新问题,烦请解答一下:现在Name这一列,我想把他变成数字,比如姓王和张 ...
楼上正解。 其实直接生成新变量就完了,还省事。多个变量肯定不影响你的分析,而且,原始的数据最好不要修改。
复制代码
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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