全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5608 7
2013-07-09
我是SAS新手自学渣一枚~有个小小的问题 我想了半天也不知道 请各位大神不吝赐教
程序如下
libname learn "E:/SAS1/chapter4";
data learn.Perm;
input ID : $3. Gender : $1. DOB : mmddyy10.
Height Weight;
label DOB="Date of Birth";
      Height="Height in inches";
          Weight="Weight in pounds";
          format DOB date9.;
datalines;
001 M 10/21/1946 68 150
002 F 5/26/1950 63 122
003 M 5/11/1981 72 175
004 M 7/4/1983 70 128
005 F 12/25/2005 30 40
;
run;
title "Listing of Information";
proc print data=learn.Perm;
run;


这是<learning SAS by examples>一书中第四章的原题,但是我运行之后发现height weight都是不能显示的,我看了一下,没问题呀。还有就是,这里为什么要用上冒号呢。我觉得只在日期处使用就可以了,但是吧ID与性别的那两个冒号取掉的话,他俩也显示不出来了。
大神赐教!谢谢~~
二维码

扫码加我 拉你入群

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

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

全部回复
2013-7-9 16:53:32
因为LABEL那句有两个多余的分号。
label DOB="Date of Birth"
      Height="Height in inches"
          Weight="Weight in pounds";
二维码

扫码加我 拉你入群

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

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

2013-7-9 17:01:49
冒号的作用是从下一个非空的字符开始,读到下一个空格或者是informat指定的长度为止。

如果吧ID和GENDER的两个冒号去掉,那SAS读记录的时候,
1. ID只会读取informat中指定的长度,即前三个字符 (如果每行数据前没有空格,那ID的值是正常的);
2. GENDER会是接下来的一个字符,而不会跳过空格,所以GENDER不会读到F和M这两个值。

楼主可以用infile cards column=col; 结合put col=;语句来验证有冒号和没有冒号时SAS读数据的区别。
二维码

扫码加我 拉你入群

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

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

2013-7-9 20:04:03
pobel 发表于 2013-7-9 17:01
冒号的作用是从下一个非空的字符开始,读到下一个空格或者是informat指定的长度为止。

如果吧ID和GENDER ...
谢谢你!现在可以运行了!!!~~~
二维码

扫码加我 拉你入群

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

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

2013-7-17 05:43:03
好像SAS base的书里讲到过
二维码

扫码加我 拉你入群

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

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

2013-7-18 12:08:43
hha
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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