小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

SAS編程操作預備知識

 fire216 2009-07-17

一、SAS系統(tǒng)簡介

SAS是一個龐大的系統(tǒng),它目前的版本可以在多種操作系統(tǒng)中運行。當前在國內(nèi)被廣泛使用的最新版本是8.2版,功能很強大,我深有體會。

據(jù)說9.0版已在國外面世,已經(jīng)有一些有關(guān)它的搶先報道在網(wǎng)絡(luò)上廣為流傳,說它如何如何美妙,令人不禁充滿期待。

SAS8.2的完整版本包含以下數(shù)十個模塊。

BASE,GRAPHETS,FSP,AF,OR,IML,SHAREQC,STAT,INSIGHT,ANALYST,ASSIST CONNECT,CPELABEIS,WAREHOUSE,PC File Formats,GIS,SPECTRAVIEW, SHARE*NET R/3,OnlineTutor: SAS Programming,MDDB Server,IT Service Vision Client, IntrNet Compute ServicesEnterprise Reporter,MDDB Server common products,Enterprise MinerAppDev Studio,Integration Technologies等。

所謂模塊,我的理解是將功能相近的程序、代碼等集中起來組成相對獨立的部分,就稱之為模塊,類似于辦公軟件系統(tǒng)office中包含的word、excel、access等。各模塊具有相對獨立的功能范圍,我們常用的模塊有base,graph,stat,insightassist,analyst模塊等,分別執(zhí)行基本數(shù)據(jù)處理、繪圖、統(tǒng)計分析、數(shù)據(jù)探索、可視化數(shù)據(jù)處理等功能。其余模塊我用得很少,知道得也很少,所以也就不多說了。

SAS系統(tǒng)的長處,體現(xiàn)于它的編程操作功能的無比強大。SAS一直以來也是注重于其編程語言的發(fā)展,對于可視化方式的菜單操作投入較少,其較早的版本僅有很少的菜單操作功能,使用起來也是非常的別扭。這很可能就是在windows人機交互式操作系統(tǒng)占統(tǒng)治地位的今天,SAS較少被人問津的原因之一。

到了最新的幾個版本,SAS也對可視化操作方法投入了一定的關(guān)注。從8.0版以后,出現(xiàn)了幾個功能強大的可視化操作的模塊,如insight模塊和analyst模塊等,其菜單操作的方便程度以及人機界面的親和性絕不亞于SPSS等著名的可視化統(tǒng)計分析軟件。

然而要想完全發(fā)揮SAS系統(tǒng)強大的功能,充分利用其提供的豐富資源,掌握SAS的編程操作是必要的,也只有這樣才能體現(xiàn)出SAS在各個方面的杰出才能。

二、SAS系統(tǒng)基本操作及基本概念

哪位要是連軟件的安裝和打開都要我嗦的話,我勸您還是買一套洪恩的《開天辟地》好好熱熱身先。

SAS 8.2的界面中間是三個并排(或?qū)盈B)的窗口,那個叫做Program Editor的窗口(窗口標簽為Editor)就是用來輸入SAS語句的,編程操作的所有內(nèi)容都是在該窗口內(nèi)完成的,各位還是要跟它先多熟悉一下。

(一)數(shù)據(jù)集(dataset)和庫

    統(tǒng)計學的操作都是針對數(shù)據(jù)的,SAS中容納數(shù)據(jù)的文件稱為數(shù)據(jù)集,數(shù)據(jù)集又包含在不同的庫(暫且理解為數(shù)據(jù)庫吧)中。SAS中的庫分為永久性和臨時性兩種。顧名思義,存在于永久庫中的數(shù)據(jù)集是永久存在的(只要你不去刪除它),臨時庫中的數(shù)據(jù)集則在你退出SAS后自動被刪除。至于SAS中庫的概念,最簡單的理解就是一個目錄,一個存放數(shù)據(jù)集的目錄。

    數(shù)據(jù)集的結(jié)構(gòu)完全等同于我們一般所理解的數(shù)據(jù)表,由字段和記錄所構(gòu)成,在統(tǒng)計學中我們習慣將字段稱為變量,在后面的內(nèi)容中字段和變量我們就理解為同一種東西吧!建立數(shù)據(jù)集的方法很多,編程操作中有專門的數(shù)據(jù)讀入方法來建立數(shù)據(jù)集,但需要將數(shù)據(jù)現(xiàn)場錄入,費時費力。如果數(shù)據(jù)量大,我勸各位還是先以其它方法將數(shù)據(jù)集建好,否則程序語句的絕大部分會浪費在數(shù)據(jù)的輸入上。

What are 其它方法?各位是不是去參考一下別的書籍或資料。要不您是不是可以等一等,我準備若干年后出一本SAS操作大全。

(二)SAS程序概述

和其它計算機語言一樣,SAS語言(稱為SCL語言,SAS Component Language)也有其專有的詞匯(即關(guān)鍵字)和語法。關(guān)鍵字、名字、特殊字符和運算符等按照語法規(guī)則排列組成SAS語句,而執(zhí)行完整功能的若干個SAS語句就構(gòu)成了SAS程序。

     SAS程序包括多個步驟和一些控制語句,一般情況下均包括數(shù)據(jù)步和過程步,一個或多個、數(shù)據(jù)步或過程步,它們之間任何形式的組合均可成為一段SAS程序,只要能完成一個完整的功能。通常情況下SAS程序還包括一些全程語句,用以控制貫穿整個SAS程序的某些選項、變量或程序運行的環(huán)境。

SAS程序的語句一般以關(guān)鍵字開始,以一個分號結(jié)束,一條語句可占多行(SAS每看到一個分號,就將其以前、上一個分號以后的所有東東當作一條語句來處理,而不管他們處在多少個不同的行中)。SAS語句對字母的大小寫不敏感,你可以根據(jù)個人習慣決定字母的大寫或小寫。

1. 庫名(庫標記)的定義

為了保存寶貴的數(shù)據(jù)和方便操作起見,我習慣于指定自己的庫名及其路徑(目錄),因為SAS系統(tǒng)中已有的永久庫(SASUSER)無論庫名還是其對應(yīng)的路徑都太過繁瑣,使用太不方便。程序中用到的數(shù)據(jù),都可以永久的保存于該路徑下,保證以后可以重復使用。指定庫名的語句為全程語句,其格式如下:

     Libname 庫名 ‘路徑’;

    例如我們指定的庫名為“a”,路徑為:“e:\data\”,SAS語句如下:

     libname a e:\data\;

     2. 數(shù)據(jù)步

SAS的數(shù)據(jù)步以data語句開始,用于創(chuàng)建和處理數(shù)據(jù)集。Data語句以關(guān)鍵字“data”開始,格式如下:

data 數(shù)據(jù)集名;

例如:data a.case; 將創(chuàng)建在庫a中名為caseSAS數(shù)據(jù)集,語句執(zhí)行后你可在與庫a對應(yīng)的目錄下看到剛剛建立的數(shù)據(jù)集文件case。

Data語句所指定的數(shù)據(jù)集,一般都是以“庫名.數(shù)據(jù)集名”的格式出現(xiàn)的,也可以單獨的“數(shù)據(jù)集名出現(xiàn),此時的數(shù)據(jù)集系統(tǒng)默認為是臨時庫中的數(shù)據(jù)集,退出系統(tǒng)后將會被刪除。

data語句有兩個重要的功能,標志數(shù)據(jù)步的開始和命名將要創(chuàng)建的SAS數(shù)據(jù)集。

data語句外,數(shù)據(jù)步一般情況下還包括infile語句、input語句以及datalines語句等。在不同的數(shù)據(jù)輸入方式下對于它們的使用方式也不一樣。

SAS程序有兩種常見的數(shù)據(jù)輸入方式,即從外部文件讀入和直接輸入兩種方式。

1)外部文件讀入方式

數(shù)據(jù)若已經(jīng)包含在某個外部文件(文本文件或數(shù)據(jù)文件)中,可用此方法輸入數(shù)據(jù)到數(shù)據(jù)集文件中。

在以上介紹的data語句后,寫入以下語句:

infile 外部文件的所在位置及名稱 選項;

input 變量名1變量名2 變量名n;

infile語句用于從外部文件讀入數(shù)據(jù),必須出現(xiàn)在input語句之前。它的功能是指定一個包含原始數(shù)據(jù)的外部文件。

input語句用于向系統(tǒng)表明如何讀入每一條數(shù)據(jù)記錄。它的主要功能有:讀入由語句指定的數(shù)據(jù)列,為相應(yīng)的數(shù)據(jù)域定義變量名,確定變量的讀入模式。

例如:

   

libname a e:\data\;

data a.student;

infile e:\data\student.txt;

input name height weight;

    以上程序?qū)⒛夸洝?span>e:\data\”下的文本文件“student.txt”中的數(shù)據(jù)輸入數(shù)據(jù)集student中,該數(shù)據(jù)集存放于目錄“e:\data\”下。

2)直接輸入方式

    數(shù)據(jù)量較少或操作者意志力堅強的情況下采用此種輸入方式,在data語句之后寫入如下語句:

    

input變量名1變量名2 變量名n;

datalines;(在以前的版本下為cards,新版本下兩者可通用)

… … … …(數(shù)據(jù)行)

… … … …(數(shù)據(jù)行)

  … … … …(數(shù)據(jù)行)

   ;

     datalines語句用于直接輸入數(shù)據(jù),標志著數(shù)據(jù)塊的開始。

注意:這里的數(shù)據(jù)行中數(shù)據(jù)之間以空格分隔,當然也可以其它東東如逗號等來分隔,這里大家先以空格來分隔好了。因為不同的分隔方式下input語句要采取相應(yīng)的控制選項,這些我們以后再討論,這里我們還是省省力氣吧。另外數(shù)據(jù)行輸完后不能像其它語句那樣直接在后面加上分號,而要另起一行輸入分號,這樣SAS才認為這是在輸入原始數(shù)據(jù)而不是在搞別的什么。

例如:

   libname a e:\data\;

data a.student;

input name $ height weight;name后面的$符號表示變量name為字符型變量)

   datalines;

   Linda 171 51

   Mary 168 50

   Selinna 169 49

   ;

    以上程序?qū)⒅苯咏?shù)據(jù)集文件student,該數(shù)據(jù)集文件存放于目錄“e:\data\”下。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多