混合的輸入樣式和讀取雜亂的原始數(shù)據(jù)
1.混合的輸入樣式
三種主要的輸入樣式:列表樣式桐罕、列樣式和格式化樣式。可以混合使用侦香。
*創(chuàng)建一個(gè)數(shù)據(jù)集parks把敞;
*使用混合輸入的方式讀取數(shù)據(jù)文件NatPark.dat;
data parks;
infile 'd:\SAS\lianxi\MyRawData\NatPark.dat';
input parkname $ 1-22 state $ year @40 acreage comma9.;
run;
proc print data=parks;
title 'national parks';
run;
parkname:列樣式輸入
state和year:列表樣式輸入
acreage:格式化樣式輸入
@40:列指針弥奸,移動(dòng)到第40列,并從第40列開(kāi)始讀取數(shù)據(jù)
@n:可以用于跳過(guò)不需要的數(shù)據(jù)奋早,或者使用不同的輸入格式兩次讀取同一個(gè)變量
2.讀取雜亂的原始數(shù)據(jù)
@'character'列指針和冒號(hào)修飾符
- @'character'列指針
若你提取的數(shù)據(jù)總是在一個(gè)特定的字符或者單詞之后盛霎,則可使用@'character'列指針。例:input @'Breed:' dogbreed $;
- 冒號(hào)修飾符
如果希望SAS讀取到空格或者數(shù)據(jù)行的結(jié)束為止耽装,則可使用冒號(hào)修飾符
例:
原始數(shù)據(jù) **my dog sam breed: rottweiler vet bills: $478 **
不同input
語(yǔ)句所得的結(jié)果:
語(yǔ)句 | 變量dogbreed的值 |
---|---|
input @'breed:' dogbreed $; |
rottwerl |
input @'breed:' dogbreed $20.; |
rottweiler vet bill |
input @'breed:' dogbreed :$20.; |
rottweiler |
*創(chuàng)建一個(gè)數(shù)據(jù)集results摩渺;
*使用混合輸入的方式讀取數(shù)據(jù)文件Canoes.dat;
data results;
infile 'd:\SAS\lianxi\MyRawData\Canoes.dat';
input @'School:' school $ @'Time:' racetime :stimer8.;
run;
proc print data=results;
title 'results';
run;
注意:
若沒(méi)有冒號(hào)修飾符,SAS讀取到行末尾的時(shí)候剂邮,它將視圖去下一行讀取是時(shí)間值
參考文獻(xiàn)
The Little SAS Book摇幻,F(xiàn)ifth Edition