目錄sas資料集名稱
sas資料集有臨時和永久兩種存在方式。所有的sas資料集都有乙個兩級名稱,兩個層級之間用句點.分隔。
注意,兩級名稱出現在data語句和data=選項中
邏輯庫引用名、資料集名稱都遵循sas命名的標準規則:以字母或下劃線開始,且只包含數字、字母或下劃線。此外,邏輯庫引用名長度不超過8個字元,資料集名稱不超過32個字元。
臨時sas資料集
沒有宣告邏輯庫引用名的資料集,都是臨時資料集,預設儲存在work邏輯庫中,會話結束時,會被sas刪除。
永久sas資料集
建立永久sas資料集,需要使用邏輯庫引用名。而使用之前需要先進行定義,可以使用新建邏輯庫 或 libname語句進行定義。
示例:libname zdata "c:\user\datafile" ;
libname語句定義邏輯庫引用名,是sas中建立邏輯庫最常見的方法。其基本形式如下:
libname 邏輯庫名稱 '邏輯庫儲存路徑' ;
注意,在不同系統操作環境下,路徑會有所不同。
建立永久sas資料集
libname zdata 'd:\data'; /* 1.建立邏輯庫引用名zdata */
data zdata.plants; /* 3.儲存讀取的資料到命名為plants的永久資料集中 */
infile 'd:\data\sas_file\test.dat'; /* 2.從名為test的檔案中讀取原始資料 */
上面這段程式,執行邏輯是先1,再2,最後3。、
讀取永久sas資料集
要使用永久sas資料集,可以在程式中包含一條libname語句,並通過兩級名稱引用它。
示例:
libname zdata1 'd:\data'; /* 引用名可以不一樣,但路徑必須一致 */
proc print data = zdata1.plants; /* 引用時,資料集名稱是唯一標識,不能更改 */
title "常見植物資料表";
run;
sas也可以不建立邏輯庫引用名和定義sas邏輯庫,直接引用永久sas資料集,但「不推薦」此用法。
直接建立永久sas資料集
只需要把資料集的名稱和路徑放在要使用該資料的引號之內,即可直接建立永久sas資料集。
data "d:\data\sas_file\test.dat"; /* windows操作環境 */
直接引用永久sas資料集
只需要在要使用該資料的地方,將該資料集的路徑和名稱包含在引號中即可。
proc print data = "d:\data\sas_file\test.dat";
sas儲存資料集,除了儲存資料本身以外,還會儲存有關該資料集的一些其他資訊(也被稱為描述符部分),可以使用contents過程檢視這部分資訊,只需要在 data= 選項後面指定資料集即可。
語法:proc contents data = data-set ;
*建立邏輯庫;
libname zdata "d:\data\sas_file";
*data步建立乙個資料集;
data zdata.funnies (label = 'comics character data'); /*'label='選項,給資料集加標籤*/
input id name $ height weight dob mmddyy8. @@;
label id = 'identification no.' /*'label'語句,給變數加標籤*/
height = 'height in inches'
weight = 'weight in pounds'
dob = 'data of birth';
informat dob mmddyy8.; /*格式化輸入*/
format dob worddate18.; /*格式化輸出*/
datalines;
53 susie 42 41 07-11-81 54 charlie 46 55 10-26-54
55 calvin 40 35 01-10-81 56 lucy 46 52 01-13-55
;run;
*使用proc contents過程描述資料集;
proc contents data = zdata.funnies;
run;
上面程式還包含了 informat 和 foamat 語句,兩者可以用來為變數關聯輸出格式和輸出格式。
這兩種語句對資料起作用的儲存邏輯和上面一樣,data步若指定了informat 和 foamat 語句,則指定的輸入格式和輸出格式會被儲存到資料集中,列印會顯示。反之,proc步的則適用於proc過程中,列印不顯示。
最後,proc contents的輸出是三張表,分別描述了資料集資訊、每個變數資訊:
關於該資料集
關於每個變數
資料集名稱
型別(數值或者字元)
觀測數長度(以位元組為單位的儲存大小)
變數數用於列印的輸出格式(如果有的話)
建立日期
用於輸入的輸入格式(如果有的話)
資料集標籤(如果有的話)
變數標籤(如果有的話)
如何使用SAS邏輯庫
什麼是sas邏輯庫?通俗地講,就是儲存sas資料集的倉庫。當然,sas邏輯庫的定義遠不是這樣,但是為了方便理解,我暫且把它理解成這樣。其實sas邏輯庫是乙個邏輯標識,指向乙個物理的位址,我們在使用sas邏輯庫的時候其實就是在使用這個實體地址,比如說,乙個名為mylib的邏輯庫,其指向的實體地址為d ...
SAS筆記 8 利用陣列重構SAS資料集
1.寬資料變長資料 建立資料集 data diagnose input 1 patno 2.3date mmddyy10.14 dx1 dx3 format date mmddyy10.datalines 10 21 1999 1 2.10 29 1999 2.11 11 2000 3.01 01 ...
SAS資料集 排序 SORT
資料集中的變數進行排序,公升序或降序排列,將排序後資料集存放到新的資料集或替換原資料集,通過sort語句實現。資料集合並或更新,需先進行排序。proc sort options by descending variables run 其中options包括 data 資料集,需排序資料集名稱,預設為...