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