SAS input輸入方法用于讀取原始數(shù)據(jù)。原始數(shù)據(jù)可以來自外部源或來自流數(shù)據(jù)。輸入語句創(chuàng)建一個(gè)變量,其名稱將分配給每個(gè)字段。所以你必須在輸入語句中創(chuàng)建一個(gè)變量。相同的變量將顯示在SAS數(shù)據(jù)集的輸出中。以下是SAS中可用的不同輸入方法,每個(gè)輸入方法的細(xì)節(jié)描述如下。
(1)list input列表輸入:
分隔符固定(自由格式)的卡片數(shù)據(jù)或外部數(shù)據(jù)文件,用list輸入法可以依次讀入源數(shù)據(jù)中各個(gè)字段,一般要求每次讀入的數(shù)據(jù)和變量個(gè)數(shù)相符,默認(rèn)一個(gè)空格分隔符,也可以用其它分隔符,用dlm=指定分隔符,如有缺失值使用相應(yīng)的占位符。
格式:input 變量1 變量2 變量3<$>…;
優(yōu)點(diǎn):使用簡(jiǎn)單,列出數(shù)據(jù)時(shí)不必上下對(duì)齊,不需要知道每個(gè)變量的具體列數(shù)而只需知道它的次序。
例1:
data stocks1;
input ticker** price Industry**;
cards;
ATT 55.25 TECH
LU 48.8 TECH
MSFT 67.87 TECH
;
run;
結(jié)果如下:
注意:在input語句中必須列出觀測(cè)中的每一項(xiàng)數(shù)據(jù)對(duì)應(yīng)的變量名而不能省略中間的某一個(gè)。
(2)Column input按列輸入
使用Cloumn input時(shí)一定要正確數(shù)出每一項(xiàng)所占的位置。
格式:input 變量名<$>開始-結(jié)束列數(shù)
優(yōu)點(diǎn):Column input不要求數(shù)據(jù)項(xiàng)之間分開,所以經(jīng)常用來輸入緊縮格式的數(shù)據(jù),對(duì)字段的選擇比較靈活,可以任意選擇字段和安排讀入的次序,整個(gè)字段或其部分可以重復(fù)讀入;
例2:
data stocks2;
input ticker$1-6 price 8-14 Industry$15-23;
cards;
ATT 55.25 TECH
LU 48.8 TECH
MSFT 67.87 TECH
;
run;
結(jié)果如下:
注意:對(duì)日期時(shí)間或包含美元符號(hào)、逗號(hào)或者其他字符的數(shù)值,按這種輸入法就不行。
(3)Formatted input格式化輸入
有時(shí)候原始數(shù)據(jù)不全是字符串或數(shù)值,比如1,00,001這樣包括逗號(hào)的字符串值,電腦就不能讀取,其他諸如包含美元符號(hào)、十六進(jìn)制、壓縮十進(jìn)制的數(shù)據(jù)都是非標(biāo)準(zhǔn)數(shù)據(jù)。SAS中,informats可以用來告訴電腦如何讀取這樣的數(shù)值。使用Formatted input適用于字段固定格式的源數(shù)據(jù),這種輸入模式給出字段的開始列數(shù),但不直接給出結(jié)束列數(shù),而通過輸入格式給出讀入長(zhǎng)度。
格式:input 指針控制 變量名 輸入格式;
例3:
data stocks3;
input Name $ @10 birthday date9. @23 amount comma5.;
format birthday date9.;
cards;
John 12SEP1983 2,234
Smith 23JAN1992 1,345
Bob 03APR1985 4,234
Steve 08AUG1988 6,924
;
run;
結(jié)果如下:
注意:字符“@n”指明從第n列開始讀入;字符“+n”指明前進(jìn)n列后讀入
-
Tech
+關(guān)注
關(guān)注
0文章
19瀏覽量
11106 -
SAS
+關(guān)注
關(guān)注
2文章
523瀏覽量
32941
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論