SAS input輸入方法用于讀取原始數據。原始數據可以來自外部源或來自流數據。輸入語句創建一個變量,其名稱將分配給每個字段。所以你必須在輸入語句中創建一個變量。相同的變量將顯示在SAS數據集的輸出中。以下是SAS中可用的不同輸入方法,每個輸入方法的細節描述如下。
(1)list input列表輸入:
分隔符固定(自由格式)的卡片數據或外部數據文件,用list輸入法可以依次讀入源數據中各個字段,一般要求每次讀入的數據和變量個數相符,默認一個空格分隔符,也可以用其它分隔符,用dlm=指定分隔符,如有缺失值使用相應的占位符。
格式:input 變量1 變量2 變量3<$>…;
優點:使用簡單,列出數據時不必上下對齊,不需要知道每個變量的具體列數而只需知道它的次序。
例1:
data stocks1;
input ticker** price Industry**;
cards;
ATT 55.25 TECH
LU 48.8 TECH
MSFT 67.87 TECH
;
run;
結果如下:
注意:在input語句中必須列出觀測中的每一項數據對應的變量名而不能省略中間的某一個。
(2)Column input按列輸入
使用Cloumn input時一定要正確數出每一項所占的位置。
格式:input 變量名<$>開始-結束列數
優點:Column input不要求數據項之間分開,所以經常用來輸入緊縮格式的數據,對字段的選擇比較靈活,可以任意選擇字段和安排讀入的次序,整個字段或其部分可以重復讀入;
例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;
結果如下:
注意:對日期時間或包含美元符號、逗號或者其他字符的數值,按這種輸入法就不行。
(3)Formatted input格式化輸入
有時候原始數據不全是字符串或數值,比如1,00,001這樣包括逗號的字符串值,電腦就不能讀取,其他諸如包含美元符號、十六進制、壓縮十進制的數據都是非標準數據。SAS中,informats可以用來告訴電腦如何讀取這樣的數值。使用Formatted input適用于字段固定格式的源數據,這種輸入模式給出字段的開始列數,但不直接給出結束列數,而通過輸入格式給出讀入長度。
格式: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;
結果如下:
注意:字符“@n”指明從第n列開始讀入;字符“+n”指明前進n列后讀入
-
Tech
+關注
關注
0文章
18瀏覽量
11062 -
SAS
+關注
關注
2文章
517瀏覽量
32770
發布評論請先 登錄
相關推薦
評論