SAS input 选项的应用实例

 
例子1:使用自定义的分隔符
 
缺省, INPUT使用空格作为分隔符. 这个DATA步使用逗号作为分隔符
 
data num;
   infile datalines dsd;
   input x y z;
   datalines;
,2,3
4,5,6
7,8,9
;
 
使用dsd缺省将以逗号作为分隔
如果你的分割符有多个字符或者不是逗号,则可以使用下面句子
 
data nums;
    infile datalines dsd delimiter='ab';
    input X Y Z;
    datalines;
1aa2ab3
4b5bab6
7a8b9
;
上面指定a, b, aa, ab, ba, bb 作为分隔符,输出下面数据
                       OBS    X    Y    Z
                        1     1    .    2
                        2     4    5    .
                        3     7    8    9
 
如果输入的字符串中包含分隔符,可使用双引号把字符括起来
data scores;
   infile datalines dsd;
   input Name : $9. Score
         Team : $25. Div $;
   datalines;
Joseph,76,"Red Racers, Washington",AAA
Mitchel,82,"Blue Bunnies, Richmond",AAA
Sue Ellen,74,"Green Gazelles, Atlanta",AA
;
 
 
 
例子2:处理缺失值和不规则记录
下面例子使用missover防止由于不规则记录导致数据不是自己想要的结果
data weather;
   infile datalines missover;
   input temp1-temp5;
   datalines;
97.9 98.1 98.3
98.6 99.2 99.1 98.5 97.5
96.2 97.3 98.3 97.6 96.5
;
 
产生的结果第1行有temp4 temp5值缺失,如果没有指定的话,temp4 和temp5会继续读下行数据的值放入其中
你也可以指定stopover 来中止输入处理,这样sas会报告错误,并设置_ERROR_=1,输出当前行
 
例子3:针对特定的字串扫描变长记录
 
使用scanover选择扫描以phone:开头的字符,并把其后的字符录入phone中,使用turnover选项用于跳过不含phone:字符的行
 
data phone;
   infile datalines turnover scanover ;
   input @ 'phone:' phone $32. ;
   datalines ;
    Jenny's Phone Book
    Jim Johanson phone: 619-555-9340
       Jim wants a scarf for the holidays.
    Jane Jovalley phone: (213) 555-4820
       Jane started growing cabbage in her garden.
       Her dog's name is Juniper.
    J.R. Hauptman phone: (49)12 34-56 78-90
       J.R. is my brother.
  
   ;;
 
run ;
 
例子4:用指定的编码读文件
libname myfiles 'SAS-data-library';
 
filename extfile 'external-file';
 
data myfiles.unicode;
   infile extfile encoding="utf-8";
   input Make $ Model $ Year;
run;
 
 
 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值