官术网_书友最值得收藏!

2.3 定義SAS數(shù)據(jù)集

如果你是一名數(shù)據(jù)分析的新手,當拿到一些以SAS格式存儲的數(shù)據(jù)集時,應(yīng)該從哪些方面去了解這些數(shù)據(jù),以便為下一步的數(shù)據(jù)分析做好準備呢?

在進一步分析數(shù)據(jù)之前,我們還需要了解數(shù)據(jù)集的基本信息,比如修改日期、屬性、標簽等,以及每個字段的含義、類型、長度、格式等。

2.3.1 SAS數(shù)據(jù)的相關(guān)概念

SAS對表的引用采用二級引用,即“邏輯庫名.文件名”,比如為了引用SASHELP庫中的CLASS文件,必須采用“SASHELP.CLASS”格式,若不加邏輯庫名,則默認為調(diào)用WORK庫中的相應(yīng)文件。對于這些SAS操作中的默認規(guī)則,初學(xué)者會不知所措。本節(jié)旨在解決這個問題。

1. SAS文件

所有的SAS文件都必須作為某個SAS數(shù)據(jù)庫的成員。SAS文件主要分為以下三類。

  • 表:存放數(shù)據(jù)值和數(shù)據(jù)的描述信息的數(shù)據(jù)集,以.sas7bdata為擴展名。
  • 數(shù)據(jù)視圖:不實際存放數(shù)據(jù),只包含表的描述信息和一組用來讀取數(shù)據(jù)的查詢語句,以.sas7bvew為擴展名。
  • 目錄:存放不同種類的信息文件,一般每個信息文件都比較小,比如一些系統(tǒng)的快捷鍵的定義等,以.sas7bcat為擴展名。
2. 數(shù)據(jù)集構(gòu)成

一個數(shù)據(jù)集包括兩個組成部分——描述部分和數(shù)據(jù)部分,如圖2-9和圖2-10所示。

024-01

圖2-9 數(shù)據(jù)集組成部分

024-03

圖2-10 數(shù)據(jù)部分和描述部分

數(shù)據(jù)部分是打開邏輯庫中的文件時展現(xiàn)在我們眼前的部分,是數(shù)據(jù)值的集合。描述部分即屬性,包含以下部分。

1)數(shù)據(jù)集的名稱。

2)創(chuàng)建數(shù)據(jù)集的日期和時間,如圖2-11所示。

024-02

圖2-11 ACCOUNTS屬性

3)觀測的個數(shù),變量的個數(shù)。數(shù)據(jù)集中的每一個變量都有屬性,如圖2-12所示。

025-01

圖2-12 變量屬性示例

類型、名稱、標簽、長度、輸入格式、輸出格式等屬性如圖2-13所示。

025-02

圖2-13 ACCOUNTS屬性選擇

  • 數(shù)據(jù)集與變量命名規(guī)則:首字符必須為英文字母(A~Z,包括大寫和小寫)或下劃線(_);由數(shù)字、字母和下劃線組成;最多不超過32個字符;不區(qū)分大小寫。
  • 標簽:數(shù)據(jù)集的屬性除名稱外,還包括標簽,以便描述數(shù)據(jù)集存儲數(shù)據(jù)的特性。書寫規(guī)則:可以是中文、英文字母等任何符號,最長不超過256個字符。
  • 類型:只有字符型和數(shù)值型兩種類型,一個變量只能屬于其中一種類型。數(shù)值型變量只能是合法的數(shù)值,缺失值為點“.”,注意不含引號。日期屬于數(shù)值型變量,取整數(shù)。日期又分為日期數(shù)據(jù)與日期時間數(shù)據(jù)。日期的常數(shù)值表示形式為ddmmmyy d或者ddmmmyyyy d,比如表示2014年6月30日時,可以采用30jun14d或30jun2014d表示。日期數(shù)據(jù)在SAS中的存儲和展示方式如圖2-14所示。
025-03

圖2-14 日期數(shù)據(jù)在SAS中的存儲和展示方式

日期時間數(shù)據(jù)如1960年1月1日00:00:00,每加1代表增加1秒。日期時間數(shù)據(jù)在SAS中的存儲和展示方式如圖2-15所示。

026-01

圖2-15 日期時間數(shù)據(jù)在SAS中的存儲和展示方式

字符型變量的值可以是任何字符串,如中國、Alex等。缺失值為空格,不含引號。

  • 變量屬性——輸入格式(Informat)及輸出格式(Format):輸入屬性用于確定數(shù)據(jù)如何讀入SAS數(shù)據(jù)集;輸出屬性用于確定數(shù)據(jù)如何顯示,即打開數(shù)據(jù)集我們看到的格式,它只是輸出形式,不影響存儲形式。
3. SAS EG數(shù)據(jù)視圖

SAS EG數(shù)據(jù)視圖是從其他文件中讀取數(shù)據(jù)的一種SAS文件。它只包括數(shù)據(jù)集的描述信息,如數(shù)據(jù)類型、變量長度等。SAS EG數(shù)據(jù)視圖類似于數(shù)據(jù)庫視圖。

SAS EG數(shù)據(jù)視圖主要有以下幾個優(yōu)勢。

  • 可以通過連接多個表的視圖來合并數(shù)據(jù)集;
  • 可以節(jié)省大量空間;
  • 可以保證讀取的數(shù)據(jù)集永遠都是最新的;
  • 更改一個數(shù)據(jù)視圖只需要改變這個視圖的查詢語句。

2.3.2 SAS EG實現(xiàn)方式

1)單擊菜單,按順序依次單擊“任務(wù)→數(shù)據(jù)→數(shù)據(jù)集屬性”,如圖2-16所示。這里可以點擊“添加”按鈕新增數(shù)據(jù)集,也可以選中數(shù)據(jù)集并刪除它。

027-01

圖2-16 數(shù)據(jù)集屬性菜單

2)單擊“下一步”按鈕,設(shè)置輸出選項。默認報表輸出內(nèi)容包括數(shù)據(jù)集的創(chuàng)建日期、上次修改日期、觀測數(shù)、編碼、任何與引擎/主機有關(guān)的信息,以及變量及其屬性按字母順序排列的列表。增強型報表輸出包括表類型、表的創(chuàng)建和修改日期、觀測數(shù)、變量標簽以及變量類型。排序可以按照變量名稱、表中變量順序、變量類型、變量格式、變量標簽中的五者之一進行升序或者降序排列,如圖2-17所示。

027-02

圖2-17 輸出數(shù)據(jù)集

上述選項設(shè)置之后,單擊“完成”按鈕,結(jié)果中產(chǎn)生5類信息。

1)數(shù)據(jù)集信息,如數(shù)據(jù)集名稱、類型、觀測數(shù)、變量數(shù)、創(chuàng)建時間、修改時間、是否排序、是否壓縮。

2)引擎和主機相關(guān)的信息,如頁面大小、頁數(shù)、版本。

3)按字母順序排序的變量和屬性列表,如變量名稱、類型、長度、輸入格式、輸出格式、標簽等。

4)數(shù)據(jù)集信息,與第1類顯示信息基本相同,但較為簡潔。

5)變量列表信息,與第3類顯示信息基本相同,但較為簡潔。

其中,默認報表輸出的是前3類信息,增強型報表輸出的是后2類信息。

2.3.3 SAS程序?qū)崿F(xiàn)方式

1. 查看文件屬性信息

基本語法如下:

proc contents <options>;
run;

options語法解讀如表2-1所示。

表2-1 options語法解讀

028-01
2. 創(chuàng)建視圖

1)數(shù)據(jù)步視圖:包含從多個數(shù)據(jù)源中讀取數(shù)據(jù)的數(shù)據(jù)步程序。

定義格式:DATA數(shù)據(jù)集名稱/view=數(shù)據(jù)集名稱。

上面的定義中,在數(shù)據(jù)步的最后一個數(shù)據(jù)集名稱后加上“view=數(shù)據(jù)集名稱”是告訴SAS程序只進行編譯,不運行,而被編譯的程序存儲在view后的數(shù)據(jù)視圖中。

例如下面這段創(chuàng)建數(shù)據(jù)步視圖的代碼:

data bankdata.account1/view= bankdata.account1;
set bankdata.account;
run;

2)SQL視圖:一個帶有名稱的proc sql查詢,可以讀寫的數(shù)據(jù)源同數(shù)據(jù)步視圖。

proc sql;
create view bankdata.account as
select * from bankdata.account;
quit;
主站蜘蛛池模板: 九龙城区| 宜都市| 正蓝旗| 三都| 昌图县| 郎溪县| 鱼台县| 黑水县| 大方县| 鄢陵县| 秀山| 青河县| 北碚区| 桂阳县| 昭觉县| 嵩明县| 黄冈市| 调兵山市| 饶阳县| 安顺市| 老河口市| 泰和县| 沙河市| 张家港市| 张家港市| 双城市| 广州市| 长阳| 南陵县| 文山县| 枣强县| 浙江省| 淳安县| 河南省| 麻江县| 攀枝花市| 山阴县| 新昌县| 阳城县| 辽阳县| 龙南县|