您的位置:首页 > 其它

SAS input 选项的应用实例

2007-07-05 10:12 232 查看
 
例子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防止由于不规则记录导致数据不是自己想要的结果
[align=left]data weather;[/align]
[align=left]   infile datalines missover;[/align]
[align=left]   input temp1-temp5;[/align]
[align=left]   datalines;[/align]
[align=left]97.9 98.1 98.3[/align]
[align=left]98.6 99.2 99.1 98.5 97.5[/align]
[align=left]96.2 97.3 98.3 97.6 96.5[/align]
;
 
产生的结果第1行有temp4 temp5值缺失,如果没有指定的话,temp4 和temp5会继续读下行数据的值放入其中
你也可以指定stopover 来中止输入处理,这样sas会报告错误,并设置_ERROR_=1,输出当前行
 
例子3:针对特定的字串扫描变长记录
 
使用scanover选择扫描以phone:开头的字符,并把其后的字符录入phone中,使用turnover选项用于跳过不含phone:字符的行
 
[align=left]data phone;[/align]
[align=left]   infile datalines turnover scanover;[/align]
[align=left]   input @'phone:' phone $32.;[/align]
[align=left]   datalines;[/align]
[align=left]    Jenny's Phone Book[/align]
[align=left]    Jim Johanson phone: 619-555-9340[/align]
[align=left]       Jim wants a scarf for the holidays.[/align]
[align=left]    Jane Jovalley phone: (213) 555-4820[/align]
[align=left]       Jane started growing cabbage in her garden.[/align]
[align=left]       Her dog's name is Juniper.[/align]
[align=left]    J.R. Hauptman phone: (49)12 34-56 78-90[/align]
[align=left]       J.R. is my brother.[/align]
[align=left]   [/align]
[align=left]   ;;[/align]
[align=left] [/align]
run;
 
例子4:用指定的编码读文件
libname myfiles 'SAS-data-library';

 

filename extfile 'external-file';

 

data myfiles.unicode;

   infile extfile encoding="utf-8";

   input Make $ Model $ Year;

run;

 
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  input encoding div