新聞中心
SAS是一種廣泛使用的統(tǒng)計(jì)軟件,它提供了各種數(shù)據(jù)管理和分析的工具。在進(jìn)行數(shù)據(jù)分析時(shí),我們可能需要?jiǎng)h除數(shù)據(jù)集中的某些數(shù)據(jù),這時(shí)候就需要使用SAS提供的刪除數(shù)據(jù)的功能了。本篇文章將介紹如何利用SAS刪除數(shù)據(jù)集中的特定數(shù)據(jù)。

成都創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、合浦網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、購物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為合浦等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
之一步:打開數(shù)據(jù)集
需要打開要進(jìn)行操作的數(shù)據(jù)集??梢允褂肔IBNAME語句將該數(shù)據(jù)集映射到SAS會(huì)話中的邏輯庫中。例如,以下語句將名為“mydata”的SAS數(shù)據(jù)集映射到邏輯庫中的“work”庫:
libname work ‘D:\mydata\’;
使用該邏輯庫可以對數(shù)據(jù)集進(jìn)行各種操作,例如刪除數(shù)據(jù)。
第二步:查找需要?jiǎng)h除的數(shù)據(jù)
在刪除數(shù)據(jù)之前,需要先查找需要?jiǎng)h除的數(shù)據(jù)??梢允褂肞ROC SQL語句來查找數(shù)據(jù)集中符合特定條件的數(shù)據(jù)。例如,以下PROC SQL語句將查找數(shù)據(jù)集“mydata”中滿足某些條件的數(shù)據(jù):
proc sql;
select * from work.mydata
where condition1 and condition2;
quit;
條件可以是任何適當(dāng)?shù)臈l件,例如數(shù)據(jù)值范圍、日期范圍、特定符號等等。
第三步:刪除數(shù)據(jù)
找到需要?jiǎng)h除的數(shù)據(jù)后,就可以使用DELETE語句將其從數(shù)據(jù)集中刪除。以下是一個(gè)例子:
data work.mydata;
set work.mydata;
if condition1 and condition2 then delete;
run;
在上面的例子中,首先使用SET語句將數(shù)據(jù)集讀入到內(nèi)存中,然后使用IF語句判斷每條記錄是否符合指定條件,如果符合條件,則使用DELETE語句將該記錄從數(shù)據(jù)集中刪除。
需要注意的是,DELETE語句只對內(nèi)存中的數(shù)據(jù)集有效,因此需要在DATA語句中指定輸出數(shù)據(jù)集的名稱,以便將修改后的數(shù)據(jù)集保存到磁盤中。
另外,如果需要?jiǎng)h除多條記錄,可以使用DO WHILE語句來循環(huán)執(zhí)行刪除操作。例如,以下示例代碼將刪除“mydata”數(shù)據(jù)集中符合特定條件的所有記錄:
data work.mydata;
set work.mydata;
do while(condition);
delete;
set work.mydata;
end;
run;
需要根據(jù)實(shí)際情況調(diào)整條件,以確保所有需要?jiǎng)h除的記錄都被刪除。
使用SAS刪除數(shù)據(jù)集中的特定數(shù)據(jù)是一項(xiàng)很基本的操作,但是需要根據(jù)實(shí)際情況進(jìn)行調(diào)整和優(yōu)化。本篇文章介紹了刪除數(shù)據(jù)的大致流程和例子,希望能夠幫助大家更好地利用SAS進(jìn)行數(shù)據(jù)分析和管理。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
SAS是什么?
我就不理解了,沒有軍事迷嗎??sas 也是英國皇家特種空勤團(tuán)的稱謂
一、SAS系統(tǒng)簡介
SAS是一個(gè)龐大的系統(tǒng),它目前的版本可以在多種操作系統(tǒng)中運(yùn)行。當(dāng)伍瞎前在國內(nèi)被廣泛使用的最新版本是8.2版,功能很強(qiáng)大,我深有體會(huì)。
據(jù)說9.0版已在國外面世,已經(jīng)有一些有關(guān)它的搶先報(bào)道在網(wǎng)絡(luò)上廣為流傳,說它如何如何美妙,令人不禁充滿期待。
SAS8.2的完整版本包含以下數(shù)十個(gè)模塊。
BASE,GRAPH,ETS,F(xiàn)SP,AF,OR,IML,SHARE,QC,STAT,INSIGHT,ANAST,ASSIST, CONNECT,CPE,LAB,EIS,WAREHOUSE,PC File Formats,GIS,SPECTRAVIEW, SHARE*NET, R/3,OnlineTutor: SAS Programming,MDDB Server,IT Service Vision Client, IntrNet Compute Services,Enterprise Reporter,MDDB Server common products,Enterprise Miner,AppDev Studio,Integration Technologies等。
所謂模塊,我的理解是將功能相近的程序、代碼等集中起來組成相對獨(dú)立的部分,就稱之為模塊,類似于辦公軟件系統(tǒng)office中包含的word、excel、access等。各模塊具有相對獨(dú)立的功能范圍,我們常用的模塊有base,graph,stat,insight,assist,yst模塊等,分別執(zhí)行基本數(shù)據(jù)處理、繪圖、統(tǒng)計(jì)分析、數(shù)據(jù)探索、可視化數(shù)據(jù)處理等功能。其余模塊我用得很少,知道得也很少,所以也就不多說了。
SAS系統(tǒng)的長處,體現(xiàn)于它的編程操作功能的無比強(qiáng)大。SAS一直以來也是注重于其編程語言的發(fā)展,對于可視化方式的菜單操作投入較少,其較早的版本僅有很少的菜單操作功能,使用起來也是非常的別扭。這很可能就是在windows人機(jī)交互式操作系統(tǒng)占統(tǒng)治地位的今天,SAS較少被人問津的原因之一。
到了最新的幾個(gè)版本,SAS也對可視化操作方法投入了一定的關(guān)注。從8.0版以后,出現(xiàn)了幾個(gè)功能強(qiáng)大的可視化操作的模塊,如insight模塊和yst模塊等,其菜單操作的方便程度以及人機(jī)界面的親和性絕不亞于SPSS等著名的可視化統(tǒng)計(jì)分析軟件。
然而要想完全發(fā)揮SAS系統(tǒng)強(qiáng)大的功能,充分利用其提供的豐富資源,掌握SAS的編程操作是必要的,也只有這樣才能體現(xiàn)出SAS在各個(gè)方面的杰出才能。
二、SAS系統(tǒng)基本操作及基本概念
哪位要是連軟件的安裝和打開都要我啰嗦的話,我勸您還是買一套洪恩的《開天辟地》好好熱熱身先。
SAS 8.2的界面中間是三個(gè)并排(或?qū)盈B)的窗口,那個(gè)叫做Program Editor的窗口(窗口標(biāo)簽為Editor)就是用來輸入SAS語句的,編程操作的所有內(nèi)容都是在該窗口內(nèi)完成的,各位還是要跟它先多熟悉一下。
(一)數(shù)據(jù)集(dataset)和陵橘余庫
統(tǒng)計(jì)學(xué)的操作都是針對數(shù)據(jù)的,SAS中容納數(shù)據(jù)的文件稱為數(shù)據(jù)集,數(shù)據(jù)集又包含在不同的庫(暫且理解為數(shù)據(jù)庫吧)中。SAS中的庫分為永久性和臨時(shí)性兩種。顧名思義,存在于永久庫中的數(shù)據(jù)集是永久存在的(只要你不去刪除它),臨時(shí)庫中的數(shù)據(jù)集則在你退出尺滾SAS后自動(dòng)被刪除。至于SAS中庫的概念,最簡單的理解就是一個(gè)目錄,一個(gè)存放數(shù)據(jù)集的目錄。
數(shù)據(jù)集的結(jié)構(gòu)完全等同于我們一般所理解的數(shù)據(jù)表,由字段和記錄所構(gòu)成,在統(tǒng)計(jì)學(xué)中我們習(xí)慣將字段稱為變量,在后面的內(nèi)容中字段和變量我們就理解為同一種東西吧!建立數(shù)據(jù)集的方法很多,編程操作中有專門的數(shù)據(jù)讀入方法來建立數(shù)據(jù)集,但需要將數(shù)據(jù)現(xiàn)場錄入,費(fèi)時(shí)費(fèi)力。如果數(shù)據(jù)量大,我勸各位還是先以其它方法將數(shù)據(jù)集建好,否則程序語句的絕大部分會(huì)浪費(fèi)在數(shù)據(jù)的輸入上。
What are 其它方法?各位是不是去參考一下別的書籍或資料。要不您是不是可以等一等,我準(zhǔn)備若干年后出一本SAS操作大全。
(二)SAS程序概述
和其它計(jì)算機(jī)語言一樣,SAS語言(稱為SCL語言,SAS Component Language)也有其專有的詞匯(即關(guān)鍵字)和語法。關(guān)鍵字、名字、特殊字符和運(yùn)算符等按照語法規(guī)則排列組成SAS語句,而執(zhí)行完整功能的若干個(gè)SAS語句就構(gòu)成了SAS程序。
SAS程序包括多個(gè)步驟和一些控制語句,一般情況下均包括數(shù)據(jù)步和過程步,一個(gè)或多個(gè)、數(shù)據(jù)步或過程步,它們之間任何形式的組合均可成為一段SAS程序,只要能完成一個(gè)完整的功能。通常情況下SAS程序還包括一些全程語句,用以控制貫穿整個(gè)SAS程序的某些選項(xiàng)、變量或程序運(yùn)行的環(huán)境。
SAS程序的語句一般以關(guān)鍵字開始,以一個(gè)分號結(jié)束,一條語句可占多行(SAS每看到一個(gè)分號,就將其以前、上一個(gè)分號以后的所有東東當(dāng)作一條語句來處理,而不管他們處在多少個(gè)不同的行中)。SAS語句對字母的大小寫不敏感,你可以根據(jù)個(gè)人習(xí)慣決定字母的大寫或小寫。
1. 庫名(庫標(biāo)記)的定義
為了保存寶貴的數(shù)據(jù)和方便操作起見,我習(xí)慣于指定自己的庫名及其路徑(目錄),因?yàn)镾AS系統(tǒng)中已有的永久庫(SASUSER)無論庫名還是其對應(yīng)的路徑都太過繁瑣,使用太不方便。程序中用到的數(shù)據(jù),都可以永久的保存于該路徑下,保證以后可以重復(fù)使用。指定庫名的語句為全程語句,其格式如下:
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中名為case的SAS數(shù)據(jù)集,語句執(zhí)行后你可在與庫a對應(yīng)的目錄下看到剛剛建立的數(shù)據(jù)集文件case。
Data語句所指定的數(shù)據(jù)集,一般都是以“庫名.數(shù)據(jù)集名”的格式出現(xiàn)的,也可以單獨(dú)的“數(shù)據(jù)集名”出現(xiàn),此時(shí)的數(shù)據(jù)集系統(tǒng)默認(rèn)為是臨時(shí)庫中的數(shù)據(jù)集,退出系統(tǒng)后將會(huì)被刪除。
data語句有兩個(gè)重要的功能,標(biāo)志數(shù)據(jù)步的開始和命名將要?jiǎng)?chuàng)建的SAS數(shù)據(jù)集。
除data語句外,數(shù)據(jù)步一般情況下還包括infile語句、input語句以及datalines語句等。在不同的數(shù)據(jù)輸入方式下對于它們的使用方式也不一樣。
SAS程序有兩種常見的數(shù)據(jù)輸入方式,即從外部文件讀入和直接輸入兩種方式。
(1)外部文件讀入方式
數(shù)據(jù)若已經(jīng)包含在某個(gè)外部文件(文本文件或數(shù)據(jù)文件)中,可用此方法輸入數(shù)據(jù)到數(shù)據(jù)集文件中。
在以上介紹的data語句后,寫入以下語句:
infile ‘外部文件的所在位置及名稱’ 選項(xiàng);
input 變量名1變量名2 …變量名n;
infile語句用于從外部文件讀入數(shù)據(jù),必須出現(xiàn)在input語句之前。它的功能是指定一個(gè)包含原始數(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ū)⒛夸洝癳:\data\”下的文本文件“student.txt”中的數(shù)據(jù)輸入數(shù)據(jù)集student中,該數(shù)據(jù)集存放于目錄“e:\data\”下。
(2)直接輸入方式
數(shù)據(jù)量較少或操作者意志力堅(jiān)強(qiáng)的情況下采用此種輸入方式,在data語句之后寫入如下語句:
input變量名1變量名2 …變量名n;
datalines;(在以前的版本下為cards,新版本下兩者可通用)
… … … …(數(shù)據(jù)行)
… … … …(數(shù)據(jù)行)
… … … …(數(shù)據(jù)行)
;
datalines語句用于直接輸入數(shù)據(jù),標(biāo)志著數(shù)據(jù)塊的開始。
注意:這里的數(shù)據(jù)行中數(shù)據(jù)之間以空格分隔,當(dāng)然也可以其它東東如逗號等來分隔,這里大家先以空格來分隔好了。因?yàn)椴煌姆指舴绞较耰nput語句要采取相應(yīng)的控制選項(xiàng),這些我們以后再討論,這里我們還是省省力氣吧。另外數(shù)據(jù)行輸完后不能像其它語句那樣直接在后面加上分號,而要另起一行輸入分號,這樣SAS才認(rèn)為這是在輸入原始數(shù)據(jù)而不是在搞別的什么。
例如:
libname a ‘e:\data\’;
data a.student;
input name $ height weight;(name后面的$符號表示變量name為字符型變量)
datalines;
Linda
Mary
Selinna
;
以上程序?qū)⒅苯咏?shù)據(jù)集文件student,該數(shù)據(jù)集文件存放于目錄“e:\data\”下。
3. 過程步
SAS程序的過程步表示一個(gè)處理過程,如排序、T檢驗(yàn)、方差分析等等。過程步以關(guān)鍵字proc開始,后面緊跟著過程名,用以區(qū)分不同的程序步,并以關(guān)鍵字run結(jié)束。
一般的格式如下:
proc 過程名 選項(xiàng)列表;
……(其它語句);
……(其它語句);
run;
SAS程序中涉及的過程多達(dá)數(shù)百種,實(shí)現(xiàn)統(tǒng)計(jì)功能時(shí)常用的過程也有數(shù)十種之多,現(xiàn)將最為常用的過程名稱及其所能實(shí)現(xiàn)的功能列入下表(表1.1),以便各位提前熱熱身。
表1.1 常用的過程名稱及其功能
過程名
功 能
Sort
將指定的數(shù)據(jù)集按指定變量排序
將數(shù)據(jù)集中的數(shù)據(jù)列表輸出
tabulate
將數(shù)據(jù)按照指定的分類變量以表格的形式分類匯總
Means
對指定的數(shù)值變量進(jìn)行簡單的統(tǒng)計(jì)描述
Freq
對指定的分類變量進(jìn)行簡單的統(tǒng)計(jì)描述
Ttest
對指定的變量做t檢驗(yàn)
Anova
對指定的變量做方差分析
npar1way
對指定的變量做非參數(shù)檢驗(yàn)
Reg
對指定的變量做回歸分析
Corr
對指定的變量做相關(guān)分析
Discrim
對指定的變量做判別分析
Cluster
對指定的變量做聚類分析
Chart
繪出低分辨率的統(tǒng)計(jì)圖
4. 幾個(gè)常用的重要過程
在進(jìn)入一般統(tǒng)計(jì)學(xué)功能實(shí)現(xiàn)的內(nèi)容之前,有關(guān)數(shù)據(jù)預(yù)處理和執(zhí)行重要公共功能的過程大家有必要預(yù)先掌握,這里選出幾個(gè)常用的和重要的過程進(jìn)行討論。
(1)對SAS文件進(jìn)行操作的datasets過程
datasets過程是對數(shù)據(jù)文件進(jìn)行管理操作的工具,利用它我們可以實(shí)現(xiàn)以下功能:
將SAS文件從一個(gè)庫中拷入另一個(gè)庫中;
對SAS文件進(jìn)行重命名;
修復(fù)損壞的SAS文件;
刪除SAS文件;
列出某一SAS庫中所有的SAS文件;
列出一個(gè)SAS數(shù)據(jù)集的屬性,如最后修改時(shí)間、數(shù)據(jù)是否壓縮、數(shù)據(jù)是否索引等;
對SAS文件進(jìn)行設(shè)置密碼的操作;
向SAS數(shù)據(jù)集添加記錄;
對SAS數(shù)據(jù)集的屬性以及數(shù)據(jù)集內(nèi)變量的屬性進(jìn)行修改;
創(chuàng)建或刪除SAS數(shù)據(jù)集的索引;
創(chuàng)建并管理SAS數(shù)據(jù)集的核查文件;
創(chuàng)建或刪除SAS數(shù)據(jù)集的完整性規(guī)則。
datasets過程的一般格式如下:
proc datasets ;
age 當(dāng)前文件名 相關(guān)文件名列表;
append base=數(shù)據(jù)集名 ;
audit 文件名; initiate;
change 舊文件名1=新文件名1 ;
contents ;
copy out=庫標(biāo)記 ;
exclude 文件名 ;(該語句只能在copy語句后出現(xiàn),不能和select語句同時(shí)出現(xiàn))
select 文件名 ;(該語句只能在copy語句后出現(xiàn),不能和exclude語句同時(shí)出現(xiàn))
delete 文件名 ;
exchange文件名1=交換文件名1 ;
modify 文件名 ;
;
repair文件名 ;
save文件名 ;
run;
是不是太繁瑣了,我都有些不耐煩了。不過我還是得寫,已經(jīng)寫了嘛!不忍心浪費(fèi)掉,最起碼可以用來充充數(shù),擴(kuò)大一下篇幅。至于各位,嫌煩的可以略過此部分,想用的時(shí)候再來溫習(xí)也不遲。下面我就不厭其煩地向各位介紹一下各選項(xiàng)及各條語句的含義和用法。
proc datasets語句后各選項(xiàng)的含義及用法見下表(表1.2)。
表1.2 proc datasets語句后各選項(xiàng)的含義及用法
選項(xiàng)
含義及用法
alter=轉(zhuǎn)換保護(hù)密碼
SAS文件設(shè)置有轉(zhuǎn)換操作密碼時(shí)用以驗(yàn)證操作的合法性,密碼正確時(shí)代碼才會(huì)被執(zhí)行
details/nodetails
控制有關(guān)SAS文件的詳細(xì)信息顯示與否,前者為顯示,后者不顯示,默認(rèn)值為后者
force
此選項(xiàng)具有兩個(gè)功能:(1)在過程步的語句存在錯(cuò)誤時(shí)仍然強(qiáng)制程序的執(zhí)行;(2)在append語句中,兩個(gè)數(shù)據(jù)集的變量不完全相同時(shí)仍然強(qiáng)制append語句的執(zhí)行。
gennum=
控制對衍生數(shù)據(jù)集的處理方式,等號后可為all, hist, revert或某一整數(shù)
kill
此選項(xiàng)表示刪除待處理的庫中的所有文件,應(yīng)慎用
library=庫標(biāo)記
用以指定所要處理的庫
memtype=成員類型
指定處理所針對的庫成員類型(文件類型),默認(rèn)值為all(所有類型)
nolist
在日志文件中禁止對所處理文件目錄的顯示
nowarn
在語句中指定的文件不存在等情況下,禁止顯示出錯(cuò)信息,強(qiáng)制程序繼續(xù)執(zhí)行
pw=操作密碼
SAS文件設(shè)置操作密碼時(shí)驗(yàn)證操作的合法性(包括讀、寫保護(hù)以及轉(zhuǎn)換保護(hù)的文件)
read=讀保護(hù)密碼
SAS文件設(shè)置讀保護(hù)密碼時(shí)驗(yàn)證操作的合法性
age語句用于批量地重命名文件,按照當(dāng)前文件和相關(guān)文件的排列順序,依次將后一個(gè)文件名重命名給前一個(gè)文件,結(jié)果是最后一個(gè)文件被刪除,當(dāng)前文件名被廢棄。
對此語句我所了解的就這么多,而且還是通過試驗(yàn)得出的結(jié)論,但總感覺還是理解的不對,哪位若有高見還請不吝賜教。
append語句執(zhí)行向數(shù)據(jù)集添加記錄的功能,選項(xiàng)“base=數(shù)據(jù)集名”用以指定要添加記錄的數(shù)據(jù)集,“data=數(shù)據(jù)集名”則指定所要添加的記錄所在的數(shù)據(jù)集,此選項(xiàng)若省略則默認(rèn)為當(dāng)前數(shù)據(jù)集(最近一次操作的數(shù)據(jù)集)。
audit語句用于對文件的核查,生成核查文件并對其進(jìn)行管理;change語句以新文件名替換舊文件名;contents語句用于顯示指定數(shù)據(jù)集或當(dāng)前數(shù)據(jù)集的各種屬性;copy語句用于將當(dāng)前庫中相應(yīng)的文件拷貝到指定的庫中,選項(xiàng)“out=庫標(biāo)記”用來指定文件要拷貝到的目標(biāo)庫;delete語句用于刪除指定的文件;exchange語句的功能是將等號前后兩個(gè)文件的文件名進(jìn)行互換;modify語句用于修改文件各方面的屬性;repair語句用于對指定的文件(受到過某種損壞)進(jìn)行修復(fù),使其恢復(fù)到可以使用的狀態(tài);save語句的功能是將其指定的文件保留,當(dāng)前庫中的其他所有文件則被刪除。
(2)對數(shù)據(jù)文件中記錄進(jìn)行排序的sort過程
sort過程的功能是對指定數(shù)據(jù)集中的記錄按照指定的變量進(jìn)行排序。由于諸多過程有對數(shù)據(jù)集記錄進(jìn)行排序的需要,比如過程步中存在by語句(用以將數(shù)據(jù)文件分割為若干部分)的情況下,就需要按照by語句后的變量對數(shù)據(jù)先行排序,所以sort過程非常有用,而且非常常用。
sort過程的一般格式如下:
proc sort 選項(xiàng)列表;
by 變量名1 ;
run;
proc sort語句后各選項(xiàng)含義及其用法見下表(表1.3)。
表1.3 proc sort語句后各選項(xiàng)含義及其用法
選項(xiàng)
含義及用法
data=數(shù)據(jù)集名
用以指定sort過程所要處理的數(shù)據(jù)集,若省略則默認(rèn)為最近建立或處理的數(shù)據(jù)集
datecopy
此選項(xiàng)指定在不改變文件創(chuàng)建日期和修改日期的條件下對文件進(jìn)行排序操作
out=數(shù)據(jù)集名
將排序后文件以指定的文件名存儲(chǔ),原文件不進(jìn)行任何修改,若無此選項(xiàng)則將原文件覆蓋
sortseq=排序依據(jù)
指定對字符型變量排序時(shí)依據(jù)的標(biāo)準(zhǔn)
reverse/equals/noequals
指定輸出數(shù)據(jù)中的排序方式,三者分別表示將字符變量的次序翻轉(zhuǎn)顯示,在排序變量的各水平內(nèi)部次序保持不變,在排序變量的各水平內(nèi)部允許次序的改變
nodupkey/noduprecs
指定重復(fù)變量的消除方式,前者表示除去排序變量值重復(fù)的記錄,后者表示除去所有變量值重復(fù)的記錄
sortsize=
用以指定可用更大內(nèi)存的大小,等號后為表示內(nèi)存大小的數(shù)值及單位,比如10m
force
用以強(qiáng)制執(zhí)行重復(fù)排序(對已建立索引的文件排序)過程
tagsort
指定在臨時(shí)文件中僅存儲(chǔ)排序變量和記錄編號,以減少對磁盤空間的使用
by語句即用以指定排序所要依據(jù)的變量,變量可為數(shù)值型也可為字符型,其后可指定多個(gè)變量,sort過程在按照靠前的變量進(jìn)行排序的情況下再按照靠后的變量進(jìn)行排序。by語句中每個(gè)變量前可用descending/ascending選項(xiàng)來指定按照其排序的方式(降序或升序),默認(rèn)狀態(tài)為升序。
(3)將數(shù)據(jù)文件輸出顯示的print過程
print過程的功能是將SAS數(shù)據(jù)集的記錄以一定的方式顯示到輸出設(shè)備(顯示屏),可以顯示其全部的變量或部分變量。利用此過程,你可以創(chuàng)建從簡單列表到可進(jìn)行數(shù)據(jù)匯總的各種報(bào)告的各種不同的表單。
print過程的一般格式如下:
proc print 選項(xiàng)列表;
by 變量名1 ;
pageby 變量名;
sumby 變量名;
id 變量名;
sum變量名;
var變量名;
run;
proc print語句后可跟的選項(xiàng)含義及其用法見下表(表1.4)
表1.4 proc print語句后選項(xiàng)含義及其用法
選項(xiàng)
含義及用法
contents=文本
用以指定html內(nèi)容文件中指向輸出的鏈接的標(biāo)識文本,等號后可為任何文本
data=數(shù)據(jù)集名
指定所要處理的數(shù)據(jù)集,等號后為數(shù)據(jù)集文件名
double
指定在相鄰的記錄間插入一空行
n=字符串
在報(bào)告的末尾或by變量各水平分組的末尾顯示顯示記錄的數(shù)目,并以等號后的字符串對其進(jìn)行標(biāo)識
noobs
禁止記錄編號在報(bào)告中的顯示
obs=列標(biāo)題
用以指定記錄編號所在列的列標(biāo)題
round
對未進(jìn)行格式化的數(shù)值變量進(jìn)行四舍五入,統(tǒng)一格式化為帶兩位小數(shù)的十進(jìn)制數(shù)值
rows=page
規(guī)定頁面格式,目前’page’是此選項(xiàng)唯一可用的值,表示在每一頁中只顯示一條記錄的一行變量值,即一行中顯示盡可能多的記錄數(shù)
width=列寬度
指定列的寬度,可取的值有’full’,’minimum’,’uniform’,’uniformby’等,
heading=方向
取值可為v(vertical)或h(horizontal),表示列標(biāo)題顯示的方向(橫向或縱向)
label
指定以變量標(biāo)識作為相應(yīng)的列標(biāo)題,否則以變量名作為列標(biāo)題
split=字符
首先此選項(xiàng)指定以變量標(biāo)識作為列標(biāo)題,以指定的字符作為列標(biāo)題換行的標(biāo)志
style=類型元素
指定報(bào)告中特定位置所要應(yīng)用的類型元素(涉及很多內(nèi)容,詳細(xì)內(nèi)容略)
by語句在所有過程中的用法都相同,即將數(shù)據(jù)集分割為若干小數(shù)據(jù)集分別進(jìn)行處理。pageby語句用來控制換頁時(shí)變量的顯示方式,對于其后所指定的變量,相同的值不會(huì)顯示在不同的頁中,該變量某一值的記錄在一頁的剩余部分顯示不下時(shí),則從該值的之一條記錄開始換行顯示。sumby語句的作用和pageby語句相似,只不過是將換頁的動(dòng)作換為求和,對指定變量的每一值計(jì)算var變量的總計(jì)值。id語句的作用是用指定的變量值代替記錄編號對每一條記錄進(jìn)行標(biāo)識。sum語句用于指定報(bào)告中要進(jìn)行求和操作的變量,var語句用于指定要在報(bào)告中顯示的變量。
以上過程作用較為普遍,使用頻率較高,有必要預(yù)先了解,以便于后面所討論內(nèi)容的順利進(jìn)行。
為節(jié)省篇幅,這里不進(jìn)行實(shí)例演示。內(nèi)容過于枯燥,可能的錯(cuò)誤也難免,還請各位多多包涵。
SAS程序操作的大概情況就草草的這樣介紹一下吧,說得太多的話我怕各位沒有耐心看下去。更多的內(nèi)容我想還是留在實(shí)際的例子中來介紹,這樣大家可以好好的切身體會(huì)一下,然后就會(huì)印象深刻,實(shí)際運(yùn)用起來也就得心應(yīng)手了。
SAS是美國使用最為廣泛的三大著名統(tǒng)計(jì)分析軟件(SAS,SPSS和SYSTAT)之一,是目前國際上最為流行的一種大型統(tǒng)計(jì)分析系統(tǒng),被譽(yù)為統(tǒng)計(jì)分析的標(biāo)準(zhǔn)軟件。
SAS為“Statistical Analysis System”的縮寫,意為統(tǒng)計(jì)分析系統(tǒng)。它于1966年開始研制,1976年由美國SAS軟件研究所實(shí)現(xiàn)商品化。1985年推出SAS PC微機(jī)版本,1987年扮宴推出DOS下的SAS6。03版,之后又推出6。04版。以后的版本均可在WINDOWS下運(yùn)行,目前更高版本為SAS6。12版。SAS集數(shù)據(jù)存取,管理,廳罩銀分析和展現(xiàn)于一體,為不同的應(yīng)用領(lǐng)域提供了卓越的數(shù)據(jù)處理功能。它獨(dú)特的“多硬件廠商結(jié)構(gòu)”(MVA)支持多種硬件平臺,在大,中,小與微型計(jì)算機(jī)和多種操作系統(tǒng)(如UNIX,MVS WINDOWS 和DOS等)下皆可運(yùn)行。SAS采用模塊式設(shè)計(jì),用戶可根據(jù)需要選擇不同的模塊組合。它適用于具有不同水平于經(jīng)驗(yàn)的用戶,處學(xué)者可以較快掌握其基本操作,熟練者可用于完成各種復(fù)雜的數(shù)據(jù)處理。
目前SAS已在全球100多個(gè)國家和地區(qū)擁有29000多個(gè)客戶群,直接用戶超過300萬人。在我國,國家信息中心,國家統(tǒng)計(jì)局,衛(wèi)生部,中國科學(xué)院等都是SAS系統(tǒng)的大用戶。SAS以被廣泛應(yīng)用于行政管理,科研,教育,生產(chǎn)和金融等不同領(lǐng)域,并且發(fā)揮著愈來愈重要的作用。
1. SAS的設(shè)計(jì)思想
SAS的設(shè)計(jì)思悶寬想是為統(tǒng)計(jì)學(xué)家和科學(xué)工作者提供這樣的一個(gè)工具,利用它可以完成包括從簡單的描述性系統(tǒng)到復(fù)雜的多變數(shù)分析的各種運(yùn)算,從而使人們從繁重的計(jì)算任務(wù)中解脫出來,有更多的時(shí)間和精力用于分析和解釋計(jì)算的結(jié)果,而不必為如何獲得這些結(jié)果花費(fèi)過多的時(shí)間和精力。
2. SAS的功能
SAS是數(shù)據(jù)管理和分析軟件包,能夠完成各種統(tǒng)計(jì)分析,矩陣運(yùn)算和繪圖等。
SAS的各項(xiàng)功能由功能模塊完成。其中BASA模塊為必需模塊,其它模塊可任選。供選擇的模塊包括統(tǒng)計(jì)(STAS),矩陣運(yùn)算(IML),繪圖(GRAPH)和全屏幕操作(FSP)等20余個(gè)。
基礎(chǔ)模塊(BASE),具有以下功能:進(jìn)行數(shù)據(jù)存儲(chǔ),調(diào)入,追加,拷貝和文件處理;編寫報(bào)告,打印圖表;進(jìn)行數(shù)據(jù)排序,分類等操作;完成一些基本統(tǒng)計(jì)數(shù)計(jì)算(如平均數(shù)和相關(guān)系數(shù));與一些軟件包(dBASE,LOTUS等)及大型機(jī)進(jìn)行數(shù)據(jù)交換和通訊。BASE模塊為SAS系統(tǒng)的核心模塊。
統(tǒng)計(jì)模塊(STAT)提供一些高度可靠,完整的統(tǒng)計(jì)分析過程。主要有方差分析(包括一元,多元的單因素及多因素實(shí)驗(yàn)設(shè)計(jì)的方差分析),線性相關(guān)和回歸分析(包括聚類分析,主成份分析,因子分析,典范相關(guān)分析)以及非參數(shù)測驗(yàn)等,共計(jì)26個(gè)過程。每個(gè)過程還提供多種不同算法和選項(xiàng),從而SAS系統(tǒng)成為一個(gè)全面,細(xì)致,科學(xué)的統(tǒng)計(jì)分析方法集。STAT模塊為SAS系統(tǒng)的核心和精華。
矩陣運(yùn)算模塊(IML)是一種交互式矩陣語言。可直接進(jìn)行矩陣運(yùn)算(加法,乘法,求逆,計(jì)算特征值和特征向量等),適用于高級統(tǒng)計(jì),工程運(yùn)算和數(shù)學(xué)分析。
繪圖模塊(GRAPH)能在微機(jī)的繪圖設(shè)備上繪制圖形??芍谱魅S圖形,地圖和幻燈等。
全屏幕操作模塊(FSP)為一交互式全屏幕軟件。利用他可以建立,修改和瀏覽SAS數(shù)據(jù)集中的觀察值,定義用戶屏幕等。
3. SAS的特點(diǎn)
SAS把數(shù)據(jù)存取,管理,分析和展現(xiàn)有機(jī)地融為一體。主要特點(diǎn)如下:
1) 功能強(qiáng)大,統(tǒng)計(jì)方法齊,全,新
SAS提供了從基本統(tǒng)計(jì)數(shù)的計(jì)算到各種試驗(yàn)設(shè)計(jì)的方差分析,相關(guān)回歸分析以及多變數(shù)分析的多種統(tǒng)計(jì)分析過程,幾乎囊括了所有最新分析方法,其分析技術(shù)先進(jìn),可靠。分析方法的實(shí)現(xiàn)通過過程調(diào)用完成。許多過程同時(shí)提供了多種算法和選項(xiàng)。例如方差分析中的多重比較,提供了包括LSD,DUNCAN,TUKEY測驗(yàn)在內(nèi)的10余種方法;回歸分析提供了9種自變量選擇的方法(如STEPWISE,BACKWARD,F(xiàn)ORWARD,RSQUARE等)。回歸模型中可以選擇是否包括截距,還可以事先指定一些包括在模型中的自變量字組(SUBSET)等。對于中間計(jì)算結(jié)果,可以全部輸出,不輸出或選擇輸出,也可存儲(chǔ)到文件中供后續(xù)分析過程調(diào)用。
2) 使用簡便,操作靈活
SAS以一個(gè)通用的數(shù)據(jù)(DATA)步產(chǎn)生數(shù)據(jù)集,爾后以不同的過程調(diào)用完成各種數(shù)據(jù)分析。其編程語句簡潔,短小,通常只需很小的幾句語句即可完成一些復(fù)雜的運(yùn)算,得到滿意的結(jié)果。結(jié)果輸出以簡明的英文給出提示,統(tǒng)計(jì)術(shù)語規(guī)范易懂,具有初步英語和統(tǒng)計(jì)基礎(chǔ)即可。使用者只要告訴SAS“做什么”,而不必告訴其“怎么做”。同時(shí)SAS的設(shè)計(jì),使得任何SAS能夠“猜”出的東西用戶都不必告訴它(即無需設(shè)定),并且能自動(dòng)修正一些小的錯(cuò)誤(例如將DATA語句的DATA拼寫成DATE,SAS將假設(shè)為DATA繼續(xù)運(yùn)行,僅在LOG中給出注釋說明)。對運(yùn)行時(shí)的錯(cuò)誤它盡可能地給出錯(cuò)誤原因及改正方法。因而SAS將統(tǒng)計(jì)的科學(xué),嚴(yán)謹(jǐn)和準(zhǔn)確與便于使用者有機(jī)地結(jié)合起來,極大地方便了使用者。
3) 提供聯(lián)機(jī)幫助功能
使用過程中按下功能鍵F1,可隨時(shí)獲得幫助信息,得到簡明的操作指導(dǎo)。
參考資料:
SAS(全稱STATISTICAL ANASIS SYSTEM,簡稱SAS)是全球更大的軟件公司之一,是由美國NORTH CAROLINA州立大學(xué)1966年開發(fā)的統(tǒng)計(jì)分析軟件。
1976年SAS軟件研究所(SAS INSTITUTE INC。)成立,開始進(jìn)行SAS系統(tǒng)的維護(hù)、開發(fā)、銷售和培訓(xùn)工作。期間經(jīng)歷了許多版本,并經(jīng)過空塌雀多年來的完善和發(fā)展,SAS系統(tǒng)在國際上已被譽(yù)為統(tǒng)計(jì)分析的標(biāo)準(zhǔn)軟件,在各個(gè)領(lǐng)域得到廣泛應(yīng)用。
SAS系統(tǒng)主要完成以數(shù)據(jù)為中心的四大任務(wù):數(shù)據(jù)訪問;數(shù)據(jù)管理(sas 的數(shù)據(jù)管理功斗早能并不很出色,而是數(shù)據(jù)分析能力強(qiáng)大所以常常用微軟的產(chǎn)品管理數(shù)據(jù),再導(dǎo)成sas數(shù)據(jù)格式.要注意與其他軟件的配套使用);數(shù)據(jù)呈現(xiàn);數(shù)據(jù)分析。當(dāng)前軟件更高版本為SAS9.3。其中Base SAS模塊是SAS系統(tǒng)的核心。其它各模塊均在Base SAS提供的環(huán)衫巖境中運(yùn)行。用戶可選擇需要的模塊與Base SAS一起構(gòu)成一個(gè)用戶化的SAS系統(tǒng)。
SAS英國特種空勤團(tuán)世界之一支真正意義上的特種部隊(duì),在這之后建立的特種部隊(duì)都是以它為藍(lán)本加上一些根據(jù)灶晌自己國家的軍人的特性體敬辯州能等等條件改變而來就算是美國三角洲也亮蔽得稱它為祖師爺
SAS數(shù)據(jù)處理
DATA CHENGJI1;
INPUT NAME $ SEX $ MATH CHN GROUP;
CARDS;
李明 男
張紅藝 女
王思明 男
;
RUN;
DATA CHENGJI2;
INPUT NAME $ SEX $ MATH CHN GROUP;
CARDS;
張聰 男
劉穎 女
高紅 女源局
;
RUN;
DATA CHENGJI3;
INPUT NAME $ SEX $ MATH CHN GROUP;
CARDS;
趙強(qiáng) 男
李云芳 女
周閃 男
;
RUN;
*第二步;
DATA CHENGJI0;
SET CHENGJI1 CHENGJI2 CHENGJI3;
RUN;
*第三步;
DATA CHENGJI;
SET CHENGJI0;
AVG=MEAN(MATH,CHN);
RUN;
PROC SORT;
BY AVG;
RUN;
*第四步;
DATA MATH90;
SET CHENGJI0;
WHERE MATH>90;
RUN;
*第五步;
PROC SORT DATA=CHENGJI(KEEP=NAME GROUP AVG) OUT=LAST ;
BY GROUP AVG;
RUN;
DATA LAST;
SET LAST;
BY GROUP AVG;
IF FIRST.GROUP;
RUN;
*第六步;
PROC SORT DATA=CHENGJI0 OUT=MATH;
BY SEX;
RUN;
DATA MATH(KEEP=SEX AVG SUM_ALL);
SET MATH END=T;
BY SEX;
IF FIRST.SEX THEN DO;
I=0;
M=0;
END;
M+MATH;
I+1;
AVG=M/I;
J+1;
TOT+MATH;
IF LAST.SEX;
IF T THEN SUM_ALL=TOT;
RUN;
*第七步;
PROC SUMMARY DATA=CHENGJI0 NWAY;
VAR MATH;
OUTPUT OUT=A(DROP=_TYPE_ RENAME=(_FREQ_=N)) SUM=TOT;
RUN;
DATA DIF;
IF _N_=1 THEN SET A;
SET CHENGJI0;
AVG=TOT/N;
DIFF=AVG-MATH;
DROP TOT N;
RUN;
*第八槐畝步;
DATA EN;
INPUT EN @@;
CARDS;
;
RUN;
DATA ALL;
SET CHENGJI0;
SET EN;
RUN;
樓上這位鉛裂森是大牛,多向他學(xué)習(xí)學(xué)習(xí)
關(guān)于sas數(shù)據(jù)集刪除部分?jǐn)?shù)據(jù)庫的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)(cdcxhl.com)提供穩(wěn)定的云服務(wù)器,香港云服務(wù)器,BGP云服務(wù)器,雙線云服務(wù)器,高防云服務(wù)器,成都云服務(wù)器,服務(wù)器托管。精選鉅惠,歡迎咨詢:028-86922220。
新聞名稱:如何利用SAS刪除數(shù)據(jù)集中的特定數(shù)據(jù)?(sas數(shù)據(jù)集刪除部分?jǐn)?shù)據(jù)庫)
文章地址:http://fisionsoft.com.cn/article/cdjspso.html


咨詢
建站咨詢
