本文首發(fā)于 ”百味科研芝士“ 微信公眾號(hào),轉(zhuǎn)載請(qǐng)注明:百味科研芝士,F(xiàn)ocus科研人的百味需求
大家好,上次已經(jīng)介紹過SPSS的操作了,今天小編給大家分享另外一個(gè)常用統(tǒng)計(jì)分析軟件—SAS,很多人一聽到SAS要編程,就望聞生畏了,小編認(rèn)為當(dāng)你熟悉基本的操作界面之后,基本上就是粘貼復(fù)制的事情,就能跑出你想要的結(jié)果了。現(xiàn)在小編就給大家分享一下SAS的基本知識(shí),下期再給大家介紹具體案例的實(shí)際操作。
一、SAS窗口簡介
1、編輯器窗口
主要功能是編輯SAS程序語句,并用不同的顏色顯示SAS語句,同時(shí)進(jìn)行語句的邏輯檢查,如:出現(xiàn)紅色字體,說明語句拼寫有誤,需要修改;深藍(lán)色字體表示數(shù)據(jù)步或過程步的開始;淺藍(lán)色表示關(guān)鍵語句;黃底色表示數(shù)據(jù)流。
2、日志窗口
主要作用是顯示運(yùn)行程序后的有關(guān)信息。顯示的信息內(nèi)容包括所建立的數(shù)據(jù)集名稱、建立數(shù)據(jù)集包括多少個(gè)變量和觀測(cè)、執(zhí)行了什么過程、執(zhí)行過程運(yùn)行了多長時(shí)間、語句中有什么錯(cuò)誤等等。
3、輸出窗口
主要作用是顯示程序運(yùn)行的結(jié)果。
注:當(dāng)程序?qū)懞脮r(shí)需要點(diǎn)擊運(yùn)行(小人的圖標(biāo)喲),另外需要注意無論是數(shù)據(jù)集的名稱還是SAS程序,SAS均不區(qū)分大小寫。
二、SAS數(shù)據(jù)集與SAS數(shù)據(jù)庫
1、SAS數(shù)據(jù)集存放于SAS數(shù)據(jù)庫中,類似于excel文檔存放在一個(gè)文件夾中。SAS庫的類型可分為永久數(shù)據(jù)庫(關(guān)閉SAS后數(shù)據(jù)集保存)和臨時(shí)數(shù)據(jù)庫(關(guān)閉SAS軟件后SAS數(shù)據(jù)集不保存,但可以保存進(jìn)建立臨時(shí)數(shù)據(jù)集的程序)。
三、SAS運(yùn)算符及常用函數(shù)
四、SAS程序簡介
1、SAS程序結(jié)構(gòu):數(shù)據(jù)步(data step)+過程步(proc step);以run結(jié)束
2、SAS程序語法規(guī)范:每個(gè)語句以“;”作為結(jié)束符號(hào);同一行可以有多個(gè)語句,一個(gè)語句也可以分幾行編寫。
五、建立數(shù)據(jù)集
下面就以一個(gè)實(shí)例,了解建立SAS數(shù)據(jù)集。
SAS的編輯窗口和日志窗口如下:
建立的SAS數(shù)據(jù)a1如下:
六、整理數(shù)據(jù)
常用的SAS語句:
1、if-then/else
2、刪除不需要變量或保留需要變量:drop/keep語句(data步中)
3、產(chǎn)生新變量:直接等號(hào)賦值即可,if-then/else產(chǎn)生新變量
4、數(shù)據(jù)集的排序:proc sort 過程步
5、數(shù)據(jù)集的合并:proc merge過程步(橫向合并)
6、數(shù)據(jù)集的連接:set語句(縱向連接)
詳細(xì)SAS程序如下:
數(shù)據(jù)集M如下:(只包含男性信息)
數(shù)據(jù)集F如下:(只包含女性信息)
數(shù)據(jù)集A2如下:(使用drop語句去除A1數(shù)據(jù)集中的 age blood變量)
數(shù)據(jù)集A3如下:(使用keep語句保留A1數(shù)據(jù)集中的 age blood變量)
A4、A5、A6如下:(產(chǎn)生新變量)
/*數(shù)據(jù)集的排序:按照年齡降序排序(若按升序排列變量名前的ascending可以省略不寫)*/
proc sortdata=a1;by decending age;run;
Proc sort之后的A1如下:
/*數(shù)據(jù)集的連接:m、f數(shù)據(jù)集眾向連接成lj數(shù)據(jù)集*/
data lj;set mf;run;
lj數(shù)據(jù)集如下:
/*數(shù)據(jù)集的合并:a1、b1橫向合并成hb數(shù)據(jù)集*/
/*需要對(duì)原數(shù)據(jù)集的關(guān)聯(lián)詞排序,即對(duì)by后的變量進(jìn)行排序*/
proc sortdata=a1;by no;run;
proc sortdata=b1;by no;run;
data hb;merge a1b1;by no;run;
數(shù)據(jù)集HB如下:
七、描述性統(tǒng)計(jì)分析
數(shù)值型變量的均值(means 過程):
程序:proc means data=a1;var age;run;
結(jié)果如下:
可以限制means過程步的輸出結(jié)果,如下需要輸出age的nmean std stderr p5 cv。
程序:proc means data=a1 n mean std stderrp5 cv;var age;run;
分類變量描述頻數(shù):
程序:proc freq data=a1;tables sex;run;
可以同時(shí)看多個(gè)變量的頻數(shù),如下同時(shí)看性別和血型的頻數(shù)。
程序:proc freq data=a1;tables sex blood;run;
今天就到這里了,期待下期統(tǒng)計(jì)推斷的具體案例實(shí)際操作,不見不散喲。
參考資料:
《SAS統(tǒng)計(jì)軟件應(yīng)用》,賀佳主編,人民衛(wèi)生出版社,2014年4月
聯(lián)系客服