SAS學(xué)習(xí)筆記1

2.5-2.9

數(shù)據(jù)讀取方式:List input, Column input, Formatted input, Mix input

List input(列表輸入形入、自由格式輸入):適合原始數(shù)據(jù)文件中所有值之間都被至少一個(gè)空格分隔開圆凰。局限性:你必須讀取一條記錄中的全部數(shù)據(jù)哥童,不能跳過(guò)不需要的值,任何缺失值都必須用句點(diǎn)標(biāo)識(shí);字符型數(shù)據(jù)不能有內(nèi)嵌的空格萝勤,長(zhǎng)度不超過(guò)8個(gè)字符;包括日期或其他需要特殊處理的數(shù)據(jù)呐伞,不適合敌卓。? input Name $ Age Height;

?Column input(列輸入):適于讀取數(shù)據(jù)文件所有值或表示缺失值的句點(diǎn)之間沒(méi)有空格(或其他分隔符)的文件,所有值都是字符型或標(biāo)準(zhǔn)數(shù)值型伶氢。優(yōu)勢(shì):①值之間無(wú)須空格趟径;②缺失值可以留空;③字符數(shù)據(jù)可以內(nèi)嵌空格(沒(méi)說(shuō)數(shù)值型可以內(nèi)嵌空格鞍历,估計(jì)是不可以吧)舵抹;④可以跳過(guò)不需要的變量。調(diào)查數(shù)據(jù)非常適合列輸入進(jìn)行讀取數(shù)據(jù)劣砍。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? input Name $ 1-10 Age 11-13? Height 14-18;*1-10表示該變量的列范圍惧蛹;

Formatted input(格式化輸入 ):最復(fù)雜,可以讀取諸如日期的特殊數(shù)據(jù)。?input Name $10.? Age 3.? Height 5.1 Birthdate MMDDYY10.? Acreage COMMA9.? ;

Mix input(混合輸入):結(jié)合實(shí)際同時(shí)靈活應(yīng)用以上三種方式香嗓。? ? input Name $1-22 State $??Acreage COMMA9.? ;


輸出格式:字符迅腔,數(shù)值,日期

字符:Name? $w.?Name是名稱靠娱,w是總長(zhǎng)度,? $表示是字符型沧烈。例如:Wang $10.

數(shù)值:Name? w.d? ?Name是名稱,w是總長(zhǎng)度, d是小數(shù)位數(shù)像云,例如:Heigh 5.1? ? Age 3.

日期:Name? w.??例如:Birthdate MMDDYY10.

+1表示跳過(guò)一列锌雀。

常用輸入格式



2.10讀取混雜的原始數(shù)據(jù)

The @‘character’column pointer(列指針)和The colon modifier(冒號(hào)修飾符)? ?和?@n??

? ? ?指將指針移到到特定的列,@40?指移到到第40列迅诬,@‘Breed:’指某種信息總出現(xiàn)在單詞Breed之后腋逆,指針移到單詞Breed之后。

?input @'Breed:' DogBreed$; *狗品種信息總出現(xiàn)在單詞Breed之后,$表示此為字符變量侈贷;

?(在變量名長(zhǎng)度超過(guò)8個(gè)字符時(shí)可?惩歉,需為字符變量制定輸入格式)?

?input?@'Breed:' DogBreed$20.;*$20.? ? ?SAS連續(xù)讀取20個(gè)字符俏蛮,無(wú)論其中是否含有空格撑蚌;

? input?@'Breed:' DogBreed:$20.;*:$20.? SAS讀取到空格或數(shù)據(jù)行結(jié)束為止(最多讀取20個(gè)字符)搏屑;


2.11?為每個(gè)觀測(cè)值讀取多行原始數(shù)據(jù)

行指針:斜線(/)和#n争涌。

/?指示跳到下一個(gè)原始數(shù)據(jù)行; #n 指跳到指定的行睬棚,即第n行第煮。??

?input city $ state $

? ? ? ? ? ? ?/ NormalH? NormalL

? ? ? ? ? #3 RecordH RecordL; */告訴SAS在讀NormalH?和?NormalL前轉(zhuǎn)到第二行第一列解幼,#n3指轉(zhuǎn)到第三行第一列抑党;

2.12?為每行原始數(shù)據(jù)讀取多個(gè)觀測(cè)值:

Line-hold specifier(行固定標(biāo)識(shí)符):@@

如果每行原始數(shù)據(jù)有多個(gè)觀測(cè),可以在input語(yǔ)句結(jié)尾處使用@@撵摆。?使用了@@底靠,SAS不會(huì)為每個(gè)觀測(cè)自動(dòng)進(jìn)入原始數(shù)據(jù)的新一行。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?input city $ state $ NormalRain? MeanDaysRain @@;


2.13?讀取原始文件的一部分

用@結(jié)束input語(yǔ)句特铝,告訴SAS暑中,保留那行原始數(shù)據(jù)。然后可用IF語(yǔ)句來(lái)判斷是否是你需要保留的觀測(cè)數(shù)據(jù)鲫剿,如果是鳄逾,則使用第二個(gè)input語(yǔ)句讀取變量數(shù)據(jù)。

input Type $ @;

if Type='surface' Then delete;

input Name $ 9-38 AmTraffic?PMTraffic;

2.13?在infile語(yǔ)句中使用選項(xiàng)控制輸入

(1)“FFIRSTOBS=? ”告知SAS從第幾行開始讀取數(shù)據(jù)灵莲。 infile 'C:\Mylib\Allscore.dat' FIRSTOBS=3;

(2)“OBS= ”? ?告知SAS在哪一行時(shí)停止讀取雕凹。? ? ? infile 'C:\Mylib\Allscore.dat' FIRSTOBS=3? obs=5;

(3)"MISSOVER"告知SAS,當(dāng)一行數(shù)據(jù)讀完的時(shí)候不要轉(zhuǎn)到下一行,而是為其余變量分配缺失值枚抵。

? ? ? ? ? ? ? ? ? ? ? ? ? ?infile 'C:\Mylib\Allscore.dat'?MISSOVER;?

?而默認(rèn)情況下线欲,當(dāng)SAS讀完一行數(shù)據(jù)后,如果input語(yǔ)句中還有一些變量沒(méi)有賦值汽摹,SAS將轉(zhuǎn)到下一個(gè)數(shù)據(jù)行讀取數(shù)據(jù)李丰。

(4)“TRUNCOVER”告知SAS為變量讀取數(shù)據(jù),直到遇到了數(shù)據(jù)行的結(jié)尾逼泣,或者遇到了在格式或列范圍指定的最后一列趴泌,二者以先遇到為準(zhǔn)。在默認(rèn)情況下拉庶,如果一個(gè)變量的字段超出了數(shù)據(jù)行的結(jié)尾踱讨,SAS將轉(zhuǎn)到下一行繼續(xù)讀取數(shù)據(jù)。(數(shù)據(jù)行結(jié)束指實(shí)際數(shù)據(jù)行結(jié)束了砍的,變量字段長(zhǎng)度是預(yù)先設(shè)定的變量作用域)

? ? ? ? ? ? ? ? ? ? ? ?infile 'C:\Mylib\Allscore.dat'?TRUNCOVER;

?如果數(shù)據(jù)行在變量作用域開始前就結(jié)束了痹筛,"MISSOVER"?和? “TRUNCOVER”都會(huì)為變量分配缺失值;但如果數(shù)據(jù)行在變量作用域中間結(jié)束時(shí)廓鞠,“TRUNCOVER”將盡量讀取可用數(shù)據(jù)帚稠,"MISSOVER"?則直接為變量分配缺失值。

(5)“DELIMITER”“DLM=”選項(xiàng)能夠讀取其他分隔符的文件床佳。(列表輸入可以讀取用空格分隔的數(shù)據(jù)) 滋早。如果分隔符是字符串,用“DLMSTR=”砌们。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? infile'C:\Mylib\Allscore.dat'? DLM=',' ;?infile?'C:\Mylib\Allscore.dat'? DLM='&' ;

? ? ? ? ? ? ? ? ? infile?'C:\Mylib\Allscore.dat'? DLMSTR='ABC' ;

? ? ? ? ? ? ? ? ?infile?'C:\Mylib\Allscore.dat'? DLM='09'X ;*使用制表符作為分隔符杆麸;

(6)“DSD”它忽略用引號(hào)括起來(lái)的數(shù)據(jù)值中的分隔符;不會(huì)把引號(hào)作為數(shù)值的一部分讀壤烁小昔头;把兩個(gè)連續(xù)的分隔符視為缺失值。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? infile 'file-specification' DLM='09'XDSD;*讀取一個(gè)制表符分隔的ASCII文件影兽;

CSV文件揭斧,用逗號(hào)作為分隔符,可以用“DSD”選項(xiàng)讀取峻堰,連續(xù)的逗號(hào)表示缺失值讹开;如果數(shù)據(jù)值包含逗號(hào),則數(shù)值會(huì)被放在引號(hào)中捐名。infile 'C:\Mylib\Bands.csv' DLM=',' DSD;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末旦万,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子镶蹋,更是在濱河造成了極大的恐慌成艘,老刑警劉巖拇砰,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異狰腌,居然都是意外死亡除破,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門琼腔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)瑰枫,“玉大人,你說(shuō)我怎么就攤上這事丹莲」獍樱” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵甥材,是天一觀的道長(zhǎng)盯另。 經(jīng)常有香客問(wèn)我,道長(zhǎng)洲赵,這世上最難降的妖魔是什么鸳惯? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮叠萍,結(jié)果婚禮上芝发,老公的妹妹穿的比我還像新娘。我一直安慰自己苛谷,他們只是感情好辅鲸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著腹殿,像睡著了一般独悴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上锣尉,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天刻炒,我揣著相機(jī)與錄音,去河邊找鬼悟耘。 笑死落蝙,一個(gè)胖子當(dāng)著我的面吹牛织狐,可吹牛的內(nèi)容都是我干的暂幼。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼移迫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼旺嬉!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起厨埋,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤邪媳,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體雨效,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡迅涮,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了徽龟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叮姑。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖据悔,靈堂內(nèi)的尸體忽然破棺而出传透,到底是詐尸還是另有隱情,我是刑警寧澤极颓,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布朱盐,位于F島的核電站,受9級(jí)特大地震影響菠隆,放射性物質(zhì)發(fā)生泄漏兵琳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一骇径、第九天 我趴在偏房一處隱蔽的房頂上張望闰围。 院中可真熱鬧,春花似錦既峡、人聲如沸羡榴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)校仑。三九已至,卻和暖如春传惠,著一層夾襖步出監(jiān)牢的瞬間迄沫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工卦方, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留羊瘩,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓盼砍,卻偏偏與公主長(zhǎng)得像尘吗,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子浇坐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 2.12 一行有多個(gè)觀測(cè)值的原始文件讀取 當(dāng)一行出現(xiàn)多個(gè)觀測(cè)值時(shí)睬捶,可以在input語(yǔ)句結(jié)尾加一個(gè)停止符號(hào)@@ 例子...
    胡阿白閱讀 569評(píng)論 0 1
  • 2.9 混合讀取方式 每種數(shù)據(jù)讀取方式都有其優(yōu)勢(shì),list最簡(jiǎn)單近刘,column和formatted雖然復(fù)雜但是不要...
    胡阿白閱讀 278評(píng)論 0 1
  • 第二章 將你的數(shù)據(jù)放入SAS(2.1-2.11) 2.1 將你的數(shù)據(jù)放入SAS的方法 你可能有各種形式的數(shù)據(jù)擒贸,包括...
    胡阿白閱讀 416評(píng)論 0 2
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,389評(píng)論 0 5
  • 變量名 名字的長(zhǎng)度要小于等于 32 個(gè)字節(jié)臀晃。(一個(gè)字母 1 個(gè)字節(jié), 一個(gè)漢字 2 個(gè)字節(jié))以字母或下劃線開頭介劫』胀铮可...
    ShawnDuan閱讀 1,511評(píng)論 0 0