全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6130 4
2011-07-01
悬赏 5 个论坛币 已解决
请问如果想用dataset a 选择变量创建到新的dataset b里,a变量很多,比如有100个变量,选择其中50个变量到b里,这50个变量在a中排列是连续的,比如var1--var50,
请问有没有简便方法不需要输入所有变量名字就可以实现?另外如果用proc sql如何实现?
谢谢

最佳答案

pobel 查看完整内容

*** If you know the name of the 30th and 60th variable, then:; data b; set a; keep var30name -- var60name; run; *** If not, then ; proc sql noprint; select name into : namelst separated by " " from dictionary.columns where libname="lib-name" and memname="A" and 30
二维码

扫码加我 拉你入群

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

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

全部回复
2011-7-1 14:02:25
*** If you know the name of the 30th and 60th variable, then:;
data b;
   set a;
   keep var30name -- var60name;
run;

*** If not, then ;
proc sql noprint;
    select name into : namelst separated by " "
          from dictionary.columns
          where libname="lib-name" and memname="A" and 30<=varnum<=60;
quit;


data b;
   set a;
   keep &namelst;
run;
二维码

扫码加我 拉你入群

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

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

2011-7-1 14:13:50
另外问一下,如果想选择a中的第30列到第60列变量给b,如何用data步或者proc sql实现?
谢谢
二维码

扫码加我 拉你入群

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

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

2011-7-1 17:13:01
data b;set a;
keep var30-var60; 如果变量名前缀相同,
keep var30--var60;如果变量名前缀不同,
run;
二维码

扫码加我 拉你入群

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

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

2011-7-1 17:13:58
上述语句应该可以。似乎很简单,不知道是否误解了楼主的意思
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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