全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学
2516 8
2009-03-01
<p>程序是NBER上处理CEX(消费数据)的一个程序,附件是给的程序代码。</p><p>&nbsp;本人是新手,有几处不太明白,请各位大牛们指导下啊</p><p>%macro one(q);<br/>&nbsp; filename fam pipe "zcat /home/data/ces_cbo/ffile&amp;q..Z";<br/>&nbsp; data disk.fam&amp;q;<br/>&nbsp; infile fam lrecl=1478;<br/>&nbsp; input<br/>&nbsp;&nbsp;&nbsp;&nbsp; newid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1-7<br/>&nbsp;&nbsp;&nbsp;&nbsp; cutenur&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10<br/>&nbsp;&nbsp;&nbsp;&nbsp; repstat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 14<br/>&nbsp;&nbsp;&nbsp;&nbsp; totwt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 19-29</p><p>这段应该是定义一个宏,filename fam pipe "zcat /home/data/ces_cbo/ffile&amp;q..Z"; 这个是什么意思?为什么双引号里面不是数据源的地址?另外,NBER网站上说原压缩的数据可以直接读入SAS而不用解压缩,是这样吗?元数据没有后缀名,但是可用TXT打开,解压缩后每个大约2MB。</p><p>然后就是proc means mean sum data=disk.fam&amp;q; weight adjwt;<br/>run;<br/>%mend;</p><p>能不能解释下PROC这句命令,尤其是Q的含义?</p><p>书到用时方恨少啊,望各位多多帮助,太感谢了!</p><p>还要感谢版上上传SAS那位大哥,真是方便了无数后来者啊!<br/></p>
298917.txt
大小:(7.6 KB)

 马上下载

<br/>
二维码

扫码加我 拉你入群

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

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

全部回复
2009-3-1 22:27:00
<p>disk.fam&amp;q这个更加关键,不知道&amp;q代表什么意思?</p><p>谢谢了</p>
二维码

扫码加我 拉你入群

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

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

2009-3-2 00:49:00
<p>重新整理一下:</p><p>下面整个是一个宏:</p><p>%macro one(q);<br/>&nbsp; filename fam pipe "zcat /home/data/ces_cbo/ffile&amp;q..Z";<br/>&nbsp; data disk.fam&amp;q;<br/>&nbsp; infile fam lrecl=1478;<br/>&nbsp; input<br/>&nbsp;&nbsp;&nbsp;&nbsp; newid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1-7<br/>&nbsp;&nbsp;&nbsp;&nbsp; cutenur&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10<br/>&nbsp;&nbsp;&nbsp;&nbsp; repstat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 14<br/>&nbsp;&nbsp;&nbsp;&nbsp; totwt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 19-29</p><p>proc means mean sum data=disk.fam&amp;q; weight adjwt;<br/>run;<br/>%mend;</p><p>很明显,这是在UNIX或LINUX操作系统中。这个宏的意思是,首先从目录/home/data/ces_cbo/中读入压缩文件 ffile1.Z ffile2.Z ...到SAS数据集 disk.fam1,disk.fam1,... (注意对应关系)。每一个数据集都只有四个变量,newid, cutenur, repstat he totwt. 然后对每一个数据集运行过程 proc means。 这个过程将会输出每一个数据集中每一个变量的和以及平均值。q是一个宏变量,&amp;q就是这个宏变量的值。</p><p>filename fam pipe "zcat /home/data/ces_cbo/ffile&amp;q..Z"; 其中pipe是用在UNIX或LINUX操作系统中的。双引号保证了里面的宏变量可以兑现其值,否则系统将试图搜寻文件ffile&amp;q..Z。双引号里面是一个UNIX命令,去查一下zcat就知道了。<br/></p>
二维码

扫码加我 拉你入群

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

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

2009-3-2 08:55:00
<p>非常感谢。在UNIX下和Windows下使用时候是不是就前面部分不一样?能否告知如何能实现在Windows的程序?</p><p>非常感谢</p>
二维码

扫码加我 拉你入群

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

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

2009-3-2 09:08:00
你sas装好了么?
二维码

扫码加我 拉你入群

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

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

2009-3-2 09:20:00
<p>已经解决了</p><p>多谢2楼的大牛</p><p>我把地址改称windows的就可以了</p><p>看来SAS可以批量读入ZIP文件</p>
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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