田間統計實驗:SAS統計分析軟件應用_第1頁
田間統計實驗:SAS統計分析軟件應用_第2頁
田間統計實驗:SAS統計分析軟件應用_第3頁
田間統計實驗:SAS統計分析軟件應用_第4頁
田間統計實驗:SAS統計分析軟件應用_第5頁
已閱讀5頁,還剩53頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

SAS統計分析軟件應用第一節SAS軟件概述及其在描述統計中應用第二節平均數差異顯著性檢驗第三節方差分析第四節回歸與相關分析SAS概述SAS語言基礎SAS數據步SAS過程步SAS在描述統計中應用第一節SAS軟件概述及其在描述統計中應用SAS(StatisticalAnalysisSystem),中文名“賽仕”,譯為“統計分析系統”SAS是美國使用最為廣泛的三大著名統計分析軟件SASSPSS和SYSTAT)之一。一、概述國際上的公認的標準統計軟件之一。公司卓著的業績使之被評為“全美國人最樂意為之工作的100家公司”之一及"最佳決策支持工具的供應商"。發展1966年美國北卡州立大學A.J.Barr1972年推出SAS72供大學使用版1976年成立SAS研究所(SASInstituteInc.),總部在美國北卡州凱瑞市

現已是全球最大的私人軟件公司和全球排名第九位的獨立軟件商系統組成:

三十幾個模塊,如BASE,GRAPH,ETS,FSP,AF,OR,IML,SHARE,QC,STAT,INSIGHT,ANALYST,ASSIST,CONNECT,CPE,LAB,EIS,WAREHOUSE,PCFileFormats,GIS,SPECTRAVIEW,SHARE*NET,R/3,OnlineTutor:SASProgramming,MDDBServer,ITServiceVisionClient,IntrNetComputeServices,EnterpriseReporter,MDDBServercommonproducts,EnterpriseMiner,AppDevStudio,IntegrationTechnologies等StatisticalAnalysisSystem(SAS)作為統計軟件的SAS專業的統計處理程序(Proc…)強大的數據概覽功能:圖形界面統計,制作圖、表作為關系數據庫平臺的SASStructuredQueryLanguage(ProcSQL)數據庫操作配置絕大多數流行數據庫平臺引擎(engine)強大的輸入輸出格式編程(input/put)作為另類編程語言的SAS(Data)數據步編程;ProcIML矩陣編程;%Macro宏編程(對Data/Proc代碼的再編程)誰需要學SAS期望到產業界(比如藥品與食品產業)的應用統計部門就業。競爭北美外企或者政府部門需要分析數據、匯報圖表的職位大規模數據庫上的統計工作、數據挖掘工作統計研究中高強度的模擬運算誰不需要SAS要處理的數據樣本量小于3000,變量個數小于50。(Excel,OpenOffice的Calc)通過圖形界面作常見的統計檢驗

(Excel,Eview,SPSS)研究統計算法的實現,希望自己可以修改程序中的代碼(R/Splus)SASforWindow的啟動、主畫面開機啟動Windows后,單擊:開始?程序?TheSASsystem?TheSASsystemforWindowsV9,自動顯示SASV9主畫面。界面:三個基本窗口Editor編輯窗:在此編寫SAS程序Log記錄窗:記錄程序運行過程中所做的內容,如所運行的數據情況、所調用的過程步、程序運行時間等(紅色---錯誤綠色---警告蘭色---正常)Output結果輸出窗:統計分析的結果。Result窗口,Explorer窗口其他:keys窗、libname窗、options窗、var窗、dir窗

(在command命令窗

或命令行command===>輸入相應的命令可激活這些窗口)SAS會話窗口程序編輯窗口運行記錄窗口結果輸出窗口命令窗口Results窗口在命令窗口輸入“keys”后情況命令行命令窗(條)SAS9.01中文界面的幾個窗口SAS文件的擴展名*.sd2SAS數據集(6.12版)(必須以字母開頭,長度不超過8位);8.0以上版為*.sas7bdat;*.sas

SAS程序文件

*.loglog窗口輸出

*.lstSAS結果文件

SAS語句以一個關鍵詞開始,以分號(;)結束;

dataa;

inputx;

cards;

323544565;proc

print;

run;SAS程序的基本結構數據步:創建數據過程步:調用數據分析過程或Lines或Datalines運行編輯窗內程序點擊圖標按功能鍵“F8”在命令行(窗)鍵入“submit”在Run下拉菜單中選“submit”所激活窗口(Editor、Log、Output)內容的保存在命令行(窗)鍵入file“路徑\文件名”點擊圖標在file下拉菜單中選“save”或“saveas”只有編輯窗口(edit窗)才能打開文件常用的快捷鍵F4recall命令,用于editor窗,將前面提交的程序調回,可多次使用F5切換到editor窗;F6切換到log窗;F7切換到output窗F8submit命令Ctrl-E清除當前窗口的內容。editor窗被清除的內容不能用F4調回二、SAS語言基礎dataa;inputx;cards;435465;proc

print;run;以關鍵詞開始SAS語句;對于8.0以上SAS軟件,這些關鍵詞顯示為藍色;如果顯示為紅色,則可能的關鍵詞無效或拼寫錯誤data;inputx;cards;435465;proc

print;run;1.所有SAS語句必須以“;”結束dataa;inputx;cards;435465;proc

print;run;初學者最容易犯的錯誤就是不寫分號。此時SAS將兩個語句誤認成一個語句(statement)。注意:(1)一個SAS語句可以寫成兩行或多行,如“dataa;”可寫成data

a;(2)多個SAS語句可以寫成簡單的一行。如:“proc

print;run;”2.程序的結束dataa;inputx;cards;435465;proc

print;run;3.數據集名與變量名dataa;inputx;cards;435465;proc

print;run;數據集名稱變量名稱數據集名與變量名取名時可以是字母、下劃線、數字,不能以數字開頭,最多可以32個字符(SAS8.0以下軟件的最大字符數為8個字符)字母可以大寫、小寫或大小寫混合,因此Weight、weight、WEIgHT被SAS視為相同的變量。4.變量的排列dataa;inputx;cards;435465;proc

print;run;如果有多個變量,如Height、Weight、Age、Sex,Job則在SAS中排列為“input

HeightWeightAgeSexJob;”

如果將以上變量用代號x1、x2、x3、x4、x5表示,則語句可寫為:“input

x1x2x3x4x5;”或簡寫為:“input

x1-x5;”5.輸入數據的標識語句dataa;inputx;cards;435465;proc

print;run;cards;或datalines;或lines;語句之后表示數據的輸入即將開始。數據的變量名、變量的格式等在input語句中定義。數據輸入結束,也必須采用分號結束。三、數據步dataa;inputx;cards;435465;proc

print;run;數據分析前,數據集必須被讀入。讀入數據方法:

1.直接創建;

2.Infile

和input語句創建;

3.對1.、2.數據進行簡單編輯,創建新的變量等。1.直接創建數據集datachild;/*建立臨時數據集child.sd2,自動放在saswork子目錄下*/inputidx1$x2x3x4x5x6;/*指明要輸入的變量,$為字符型變量*/cards;/*標志數據區開始,數據之間以一個或幾個空格分隔*/1m3295.514.053.549.642m3592.013.052.041.613m3389.012.553.535.81254m176168.053.582.0100.14255f3091.011.048.035.39256f3391.011.547.044.98521f178163.051.079.087.42;/*標志數據區結束,分號必須單獨一行*/

run;SAS中的常用變量類型數值型:不需特殊定義字符型:定義方式變量名$日期型:多種形式如:變量名mmddyy6.

實際記錄為距1960/01/01的天數輸入格式可以是:09100409/10/04091004909102004其它數據庫中的邏輯型、備注型變量在SAS中均為字符型變量。日期型變量轉進SAS后一般也變為字符型變量。dataa1;inputidx1$x2x3x4;cards;1m3295.52m3592.013.03m3389.012.5;proc

print;run;結果:

Obsidx1x2x3x411m3295.52.023m3389.012.5dataa1;inputidx1$x2x3;cards;1m3295.52m3592.013.03m3389.012.5;proc

print;run;結果:

Obsidx1x2x311m3295.522m3592.033m3389.0SAS數據集創建時存在的問題

data

esr;

inputx@@;/*每讀入一個記錄后,數據指針保持原位不換行,

繼續讀下一條記錄*/

cards;

3

9

8

6

5

5

7

3

10

8

10

4;

proc

means;

run;

結果:

NMeanStdDevMinimumMaximum------------------------------------------------------------------26.50000002.54057973.000000010.0000000------------------------------------------------------------------

不分行符@@的使用

datachild;

inputidx1$x2x3x4x5x6;

cards;1m3295.514.053.549.642m35.13.052.041.613m3389.012.553.535.81254m176168.053.582.0100.14255f3091.011.048.035.39256f3391.011.547.044.98521f178163.051.079.087.42;proc

means;run;缺失值的輸入---以“.”表示,缺失值不進入分析

VariableNMeanStdDevMinimumMaximum-----------------------------------------------------------------------------id7184.5714286194.96397711.0000000521.0000000x2773.857142970.477960130.0000000178.0000000x36116.250000038.241012089.0000000168.0000000x4723.785714319.482593011.000000053.5000000x5759.285714314.736171947.000000082.0000000x6756.427142926.254044635.3900000100.1400000-----------------------------------------------------------------------------如已存在一純文本文件c:\child.txt,內容如下:

1m3295.514.053.549.642m3592.013.052.041.613m3389.012.553.535.81254m176168.053.582.0100.14255f3091.011.048.035.39256f3391.011.547.044.98521f178163.051.079.087.42可用infile

直接讀入:

Datachild;

Infile

"c:/child.txt";

Inputidx1$x2x3x4x5x6;proc

print;Run;2.Infile

和input語句創建數據如從現有SAS文件“child”中讀取數據,變成文件名為“school”的文件。dataschool;setchild;x=x3-x2;proc

print;Run;3.從現有SAS數據集中讀取數據前面所產生的文件都是臨時文件,退出SAS后,這些文件將自動刪除。為了將文件變成永久性數據集存儲在磁盤上,可采用libname語句。

libname

ych

"f:/sasdata";data

ych.student;set

school;run;4.在磁盤上存儲SAS數據集用ych代表子目錄“f:/sasdata”,可任意取名,但應與打算建立的文件名前的前綴相同SAS數據集名稱的表示方式:庫關聯名.數據集名永久數據集格式:libname

庫關聯名“盤符:\路徑”;

如:libname

ych‘f:\SASdata’;ych

為庫關聯名,代表路徑f:\SASdata

;庫關聯名可任意取,一旦定義,只要不退出SAS,始終有效(因為libname命令為全局命令)。但路徑必須實際存在。臨時數據集:每次啟動SAS時,會自動開辟一個臨時存儲區,其庫關聯名為WORK,代表\sas\saswork子目錄。一旦退出sas,臨時存儲區數據集文件自動刪除,稱為臨時數據集臨時數據集的庫關聯名默認為work,均省略不寫。如datachild;(實際為work.child)永久數據集和臨時數據集利用file下拉菜單中的import功能,可轉入:文本型數據:空格分隔、逗號分隔、制表鍵分隔Dbase數據庫(*.dbf)Excel數據庫有的數據可通過粘貼的方法貼到Editor窗,然后采用input和cards等語句,直接生成sas數據集。5.從其他數據集轉入變量賦值:變量名=表達式;如x5=x4*0.5;x=x3-x2;team=‘green’;加減乘除、乘方運算符:+-*/、**缺失值賦值舉例:

age=.;字符型變量:team=‘’;

if<條件表達式>then<表達式>;

else<表達式>;如ifsex=1thent=f1+f2+f3;

子集化:用keep或drop語句整理變量名表

keep<變量名表>;

drop<變量名表>;6.修改SAS數據datab1;setchild;ifid<200

thengroup=1;

elsegroup=2;renameid=x0;keepidx1x2group;proc

print;run;注:keepidx1x2group等價于

dropx3-x6;OBSX0X1X2GROUP11m32122m35133m3314254m17625255f3026256f3327521f1782SAS數據集的整理舉例數據子集化

記錄輸出

if<表達式>thenoutput數據集;記錄刪除if<表達式>thendelete;datab1;setchild;ifx1='m'

then

output;keepx1x5;proc

print;run;

Obsx1x51m53.52m52.03m53.54m82.0SAS數據集的整理---記錄操作SAS數據集整理---記錄操作dataa;inputidx1x2@@;cards;111122212244142441142255152;datab;inputidx3@@;cards;1133334435535533;run;datac;setab;proc

print;run;

OBSIDX1X2X3111112.222122.344142.44411422.555152.61..1373..3384..4395..53105..533

縱向合并:set<數據集A><數據集B>…;SAS數據集整理---記錄操作datac;

mergeab;

byid;

proc

print;

run;OBSIDX1X2X311111213222122.33..3344414243544114224365515253755152533

datac;

mergeab;proc

print;

run;OBSIDX1X2X31111121323212233344142434541142253555152533

橫向合并:merge<數據集A><數據集B>…;SAS數據集整理---記錄操作排序procsort;by<變量名表>;橫向合并:一般要先按識別字段排序merge<數據集>;by識別字段;四、過程步過程步(procedurestep)是以關鍵字PROC開始的一個或多個SAS語句。過程步的結構一般為:PROC過程名過程選擇項

;

語句/語句選擇項

;

語句語句選擇項

…;

語句;Run;

常用SAS過程步UNIVARIATE、MEANS(定量資料的描述、配對t檢驗,一個樣本對應總體與一個已知總體的比較t檢驗)TTEST(兩樣本對于的總體均數的比較)FREQ(卡方檢驗,Fisher精確檢驗)GLM、ANOVA(方差分析)NPAR1WAY

(非參數檢驗)CORR(相關)REG(簡單與多重回歸)CHART、GPLOT(繪圖)SORT(排序)PRINT(按要求輸出結果)五、SAS在描述統計中應用MEANS過程SUMMARY過程UNIVARIATE過程次數分布表和次數分布圖默認情況下,Means過程會給出頻數、均數、標準差、最大值和最小值等,其余統計量的計算均需要在選項中指定。MEANS過程1.N13.STDERR2.NMISS14.T3.MEAN15.PRT4.STD16.SUMWGT5.MIN17.SKEWNESS6.MAX18.KURTOSIS7.RANGE8.SUM9.VAR10.USS11.CSS12.CVPROCMEANS[選擇項]例1以教材P38,表3.4數據為例。OPTIONNODATEPS=60;DATAtb34;INPUTy@@;CARDS;17721519797123159

194227141169124159;PROCMEANSDATA=tb34NMINMAXSTDRANGEMEANCVSUMVARSTDERRNMISSMAXDEC=4VARDEF=DF;RUN;datab38;inputxy@@;cards;13 1614161517171818

18

18

181918211922202320;procprint;procmeansNNMISSMEANSTDMINMAXRANGESUMvarUSSCSSCVSKEWNESSKURTOSISMAXDEC=4FW=8VARDEF=df;

varxy;run;例2以教材P39,表3.6為例。DATAtb36;INPUTyf@@;CARDS;75290710571201313517150201652518021195132109225324022551;proc

print;PROC

MEANSNMEANVARSTDCV;VARy;WEIGHTf;RUN;例3DATAtb34;INPUTy@@;CARDS;17721519797123159

194227141169124159;PROCSUMMARYPRINT;VARy;RUN;2.SUMMARY過程例4以P37表3.1數據為例。DATAtb31;INPUTy@@;CARDS;1815171916

181717161917;PROCUNIVARIATEFREQPLOTNORMAL;RUN;UNIVARIATE過程DATAtb31;INPUTy@@;CARDS;18 15 17…. 20 18 19 1717 17;PROCfreq;procgchart;vbary/midpoints=15to20by1;RUN;次數分布表和次數分布圖

/*LT3*/OPTIONPS=30LS=100;DATAA;INPUTYIELD@@;YIELD=INT((YIELD-67.5)/13)*13+67.5;CARDS;1772151979712315924511911913114915216710416121412517521911819217617595136199116165214951588313780138151187126196134206137989712914317917415919413610810114114816816317610215814517375130149150161155111205131189

定義輸出格

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論