SAS数据导入input要点

1、input的输入格式

字符型变量默认8个字符,若使用input语句时,原文件字符长度超过8个字符,如果不加以说明,此时input会将字符截断为8个字符,如下:

代码1:
data a;
input name $ age;
cards;
xiaomingd5 3
xiaohong 4
;
run;

此时第一个变量xiaomingd5将被截断,生成的结果为:

若使用input格式输入时,在$加上字符的长度,此时在读取时,就会按照指定的长度读取数据,将上面代码改为:

代码2:
data a;
input name $9. age;
cards;
xiaomingd5 3
xiaohong 4
;
run;

此时第一个变量xiaomingd5的长度将会改变为9个字符,生成的结果为:

你会注意到name是改变了,但是两次的age结果不一样,这是为什么?

因为input语句总是从第1列开始读取数据,因此第一个变量name $9. 从第一列读到第9列,无论其中是否有分隔符。age变量的起始点在第10列,sas开始从第10列读取age之,所以代码2中age的值是5。

 

能否正确读取age值呢?可以的,使用冒号修饰符:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值