全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3975 3
2018-09-14
悬赏 50 个论坛币 未解决
有这样的一个原始的csv文件:
id,2001,2002
a,1,2
b,3,4

各位请复制到csv中自行创建一下下,数据简单就不要附件了.

请一定要按照上面的数据创建数据,因为另一个问题是,我想知道

当变量名为数字时要如何读入呢?

想要的结果:
id time value
a 2001 1
a 2002 2
b 2001 3
b 2002 4

请展示从文件读入到数据处理的全过程!

再次,请按照本文所示的数据创建源数据,不能有任何其他更改.
二维码

扫码加我 拉你入群

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

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

全部回复
2018-9-17 05:49:38
data a;
input id $ Y2001 Y2002; /*SAS 变量名不能数字开头, 就加了字母Y在前面*/
cards;
a 1 2
b 3 4
;
run;

proc transpose data=a out=b(rename=(col1=value)) name=time;
by id;
run;

结果就是你要的。
二维码

扫码加我 拉你入群

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

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

2019-4-10 16:47:46
若变量名为数字时,不符合原始的SAS命名规则,但非要求变量名是数字,可以使用全局语句:option validvarname=any;
二维码

扫码加我 拉你入群

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

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

2019-4-10 17:08:54

/*查看变量名*/
proc contents data=b;
run;
/*修改变量名*/
proc datasets library=work;
modify b;
rename col1=value _name_=time;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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