全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2284 1
2020-11-04
data a;
input x y z;
datalines;
1 5 99
2 8 90
3 6 98
;
run;

如上,当变量名未知的时候,如何选取数据集中的第1列和第3列呢?
谢谢各位

二维码

扫码加我 拉你入群

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

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

全部回复
2020-11-4 22:51:47
我已经解决了,方法比较笨

data a;
input x y z;
datalines;
1 5 0
2 8 9
3 6 8
;
run;

proc sql;
       create table aa as select name into:vname from dictionary.columns
                where libname='WORK' and memname='A' and varnum in (1,3);/*varnum=n n为第几个变量,即第几列*/
        run;
quit;
/*以上参考这篇帖子里的回答:https://bbs.pinggu.org/thread-717620-1-1.html*/
/*上面的程序主要是将对应列数的变量的变量名提取出来*/
proc transpose data=aa out=aa1 ;
id name;
run;
data aa1;
set aa1;
drop _name_;
run;
/*以上是把提取出来的变量名数据集转置,生成一个仅有对应变量名空数据集*/

proc append base=aa1 data=a force;
run;
/*使用append过程对数据进行更新,由于选取出的变量个数与原始库中的变量个数不同,所以要用force*/
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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