第一章 統計軟件使用基礎
SAS是國際著名的統計分析軟件,不但具有數據管理、計算和分析的高級語言編程功能,還有基於菜單係統的SAS/Analyst(分析傢)模塊。Excel 是電子錶格軟件,在管理數據的基礎上,通過編輯公式、分析工具庫和函數數據,也具有部分常用的數據統計功能。本章簡單介紹SAS 軟件的編程基礎和SAS/Analyst(分析傢)模塊操作,Excel 軟件公式編輯、分析工具庫和函數數據操作的基礎知識,為通過SAS 軟件和Excel 軟件實現試驗數據的統計分析奠定基礎。
第一節 SAS編程基礎
SAS 是“統計分析係統”(Statistical Analysis System)的英文縮寫。該係統是由北卡羅來納州立大學統計係的兩位教授A.J.Barr 和J.H.Goodnight 於20世紀60年代末開發的。最初是以統計分析和綫性統計模型為主,至今已開發成為功能強大的集成應用軟件係統。本軟件包括30 多個工具模塊,廣泛應用於實用統計、運籌學、質量控製、大型矩陣計算等,是國際上公認的統計軟件。目前最新版本為SAS 9.3 。
本書以Windows XP操作係統下的SAS 9.0主,介紹SAS統計功能的具體使用方法。本書所做的介紹僅供讀者對SAS有一些膚淺的瞭解,能夠使用SAS軟件處理本書中的各種統計方法。若要對SAS 統計功能有深入瞭解,請參考書後所引用的相關書籍。
一、SAS 的界麵操作
單擊“開始”菜單“程序”項,光標移到“ SAS”程序項處,選擇“ The SAS System for Win-dows 9.0(簡體中文)” ,單擊即啓動SAS 。
SAS 啓動後在屏幕上齣現的是顯示管理係統(display manager)。顯示管理係統主要有三個窗口,一個是編輯器(PROGRAM EDITOR)窗口,一個是日誌(LOG)窗口,一個是輸齣(OUTPUT)窗口。其中編輯器和日誌兩個窗口在啓動後可直接看到,屏幕的左上角是命令框。
上述三個窗口的主要功能如下:① 編輯器窗口:輸入SAS 程序和數據;② 日誌窗口:顯示執行程序過程中的有關信息;③ 輸齣窗口:顯示程序執行的結果。
二、SAS 的基礎知識
(一) SAS 語句
SAS 語言的基本單位是語句。每個SAS 語句一般由一個關鍵詞(如DATA,PROC,IN-PUT,CARDS,BY)開頭,包含SAS 名字、特殊字符、運算符等,以分號“ ;”結束。SAS 關鍵詞是用於SAS 語句開頭的特殊單詞,SAS 語句除瞭賦值、纍加、注釋、空語句以外都以關鍵詞開頭。SAS 名字在SAS 程序中標識各種SAS 成分,如變量、數據集、數據庫等。SAS 名字由1到8個字母、數字、下劃綫組成,第一個字符必須是字母或下劃綫。SAS 關鍵詞和SAS 名字都不分大小寫。
(二) SAS 程序語法規則
SAS 語句不需要單獨占一行,一個語句可以寫到多行(不需任何續行標誌) ,也可以在一行連續寫幾個語句。SAS 語言中隻要允許用一個空格的地方就可以加入任意多個空白(空格、製錶符、迴車) ,允許用空格的地方是名字周圍和運算符周圍。如程序
proc print
data = aa ;
by avg ;
run ;
和
proc print data = aa ;by avg ;run ;
是等效的。
SAS 關鍵詞和名字不分大小寫,但字符型數據值要區分大小寫,如“ Beijing” 和“BEI-JING”被認為是不同的數據值。
在SAS 程序中可以加入注釋,用/ *和*/在兩端界定注釋,這種注釋可以齣現在任何允許加入空格的位置,可以占多行。我們一般隻把注釋單獨占一行或若乾行,不把注釋與程序代碼放在同一行。注釋的另一個作用是把某些代碼暫時屏蔽使其不能運行。下麵是一個注釋的例子:
data split ; / *裂區設計資料分析*/
input r a b x ;
cards ;
…
;
(三) SAS 語句的賦值
在SAS 中用賦值語句計算一個值並存放到變量中。格式為“變量名= 錶達式” 。例如:
y = (x1 + x2)/2 ;
isfem = (color = 崔紫崔) ;
y = arsin(sqrt(x/100)) *180/3.1415926 ;
obs = .;
其中,第一個賦值語句用一個公式計算平均分數;第二個生成一個取值為0 或1 的變量,花色為紫時為1 ,否則為0 ;第三個使用瞭正弦函數和乘方運算;第四個給變量賦瞭缺失值。
注意:想試驗上述語句要把它們放入數據步中,並且等號右邊的錶達式中的各變量應該是存在的,否則會得到缺失值結果。
三、SAS 的數據步
SAS 程序包括數據步和過程步兩種結構,每一個步是一段相對完整的可以單獨運行的程序。SAS 語言的編程計算能力主要由SAS 數據步提供。數據步用來生成、整理數據和自編程計算,過程步調用SAS 已編好的處理過程對數據進行處理。應用SAS 編程序進行計算主要在數據步中進行。
(一) 數據步的基本結構
數據步中可以使用INPU T 、DATALINES(CARDS) 、INFILE 、SET 、MERGE 等語句指定數據來源輸入數據,也可以用賦值、分支、循環等編程結構直接生成數據或對輸入的數據進行修改。
1.DATA 語句
DATA 語句以關鍵詞DATA 開頭,後麵給齣一個數據集名,這是本數據步要生成的數據集的名字。例如:
data aa ;
也可以省略數據集名,這時SAS 自動生成一個臨時數據集名。
2.INPUT 語句
指定讀入數據的格式以及為讀入的數據指定變量名及格式,其語法如下所示。
INPUT < 變量名1 變量名2 … 變量名n > < 選項> ;
在數據步中輸入數據可以從原始數據輸入,也可以從已有數據集輸入。從原始數據輸入要使用INPUT 語句來指定輸入的變量和格式。
最簡單的INPUT 語句使用自由格式:按順序列齣每個觀測的各個變量名,中間用空格分開。變量如果是字符型的需要在變量名後麵加一個|S 符號,|S 符與變量名可以直接相連也可以隔一個空格。
3.CARDS/DATALINES 語句
用於在SAS 係統中直接輸入數據,錶明所列數據的開始。數據行寫在CARDS 語句(或DATALINES 語句)和一個隻有一個頂頭的分號的行之間。
DATA 語句、INPUT 語句、CARDS 語句的使用可見下例。
data soybean ;
input name |S nods seeds SW yield ;
cards ;
Heihe33 23.1 1495 22.3 333.4
Beijiao392 34.9 2305 17.6 405.7
Huajiang1 27.0 1868 17.7 330.6
Heihe45 29.9 2015 18.3 368.7
Heihe48 35.3 2000 16.5 330.0
Beiken0412 23.4 1333 20.8 277.3
Heinong37 31.1 1971 18.2 358.7
Dongnong48 29.9 2053 17.0 349.0
Hefeng45 24.5 1682 17.8 299.4
Kenfeng12 26.8 1926 17.9 344.8
Suinong14 29.5 1841 17.6 324.0
;
run ;
注意:這個例子的數據有11個觀測,5個變量,每行數據的各變量之間用空格分隔。為輸入這些數據,INPU T 語句中依次列齣瞭5個變量名,並在字符型變量name 後加瞭|S 符。要生成一個數據集這是最簡單的寫法。
(二) 循環結構
SAS 數據步可以使用循環結構讀入數據,循環結構包括計數DO 循環,當型循環和直到型循環,應用最多的是計數DO 循環。計數DO 循環的寫法是:
DO 計數變量= 起始值 TO 結束值 < BY 步長> ;
< ,參數錶> ???
END ;
在DO 和END 之間可以有多個語句。程序先把計數變量賦值為起始值,如果此值小於等於結束值則執行循環體語句,然後把計數變量加上步長,再判斷它是否小於等於結束值,如果是則繼續執行循環體,直到計數變量的值大於結束值為止。上述結構中“BY 步長”可以省略,這時步長為1 。如果步長取負值,則繼續循環的條件是計數變量大於等於結束值。例如:
data ;
do a = 1 to 4 ;
do b = 1 to 3 ;
input x @ @ ;output ;
end ;
end ;
run ;
(三) 函 數
SAS 提供瞭比一般程序設計語言多幾倍的標準函數可以直接用在數據步的計算中,其中包括所有語言都有的數學函數、字符串函數,還包括特有的統計分布函數、分位數函數、隨機數函數、日期時間函數、財政金融函數等。
SAS 函數格式為函數名( < 變量1 > ,< 變量2 > ,… ) ,“函數名(OF 變量名列錶) ,其中變量名列錶可以是任何閤法的變量名列錶。
1.數學函數
ABS(x) :求x 的絕對值。
MAX(x1 ,x2 ,… ,xn) :求所有自變量中的最大一個。
MIN(x1 ,x2 ,… ,xn) :求所有自變量中的最小一個。
MOD(x ,y) :求x 除以y 的餘數。
SQRT(x) :求x 的平方根。
ROUND(x ,eps) :求x 按照eps 指定的精度四捨五入後的結果,如ROUND(5654.5654 ,0.01)結果為5654.57 ,ROUND(5654.5654 ,10)結果為5650 。
LOG(x) :求x 的自然對數。
LOG10(x) :求x 的常用對數。
EXP(x) :指數函數ex 。
SIN(x) , COS(x) ,TAN(x) :求x 的正弦、餘弦、正切函數。
ARSIN(y) :計算函數y = sin( x)在x 取值區間為- π
2 ,π
2 的反函數,y 取[ - 1 ,1]間值。
2.分布密度函數、分布函數
作為一個統計計算語言,SAS 提供瞭多種概率分布的有關函數。分布密度、概率、纍積分布函數等可以通過幾種統一的格式調用,格式為
分布函數值= CDF(崔分布崔, x < ,參數錶> ) ;
密度值= PDF(崔分布崔, x < ,參數錶> ) ;
概率值= PMF(崔分布崔, x < ,參數錶> ) ;
對數密度值= LOGPDF(崔分布崔, x < ,參數錶> ) ;
對數概率值= LOGPMF(崔分布崔, x < ,參數錶> ) ;
CDF 計算由崔分布崔指定分布的分布函數, PDF 計算分布密度函數,PMF 計算離散分布的分布概率,LOGPDF 為PDF 的自然對數,LOGPMF 為PMF 的自然對數。函數在自變量x處計算,< ,參數錶> 錶示可選的參數錶。
分布類型取值可以為BINOMIAL ,CHISQUARED , F ,NORMAL 或GAUSSIAN ,POISSON ,T 等。可以隻寫前四個字母。
例如,PDF(崔NORMAL崔, 1.96)計算標準正態分布在1.96 處的密度值(0.05844) ,CDF(崔NORMAL崔, 1.96)計算標準正態分布在1.96 處的分布函數值(0.975) 。PMF 對連續型分布即PDF 。
除瞭用上述統一的格式調用外,SAS 還單獨提供瞭常用分布的密度和分布函數。
PROBNORM(x) :標準正態分布函數。
PROBT(x ,df < ,nc > ) :自由度為d f 的t 分布函數。可選參數nc 為非中心參數。
PROBCHI(x ,df < ,nc > ) :自由度為d f 的卡方分布函數。可選參數nc 為非中心參數。
PROBF(x ,ndf ,ddf < ,nc > ) :自由度為nd f ,dd f 的F 分布的分布函數。可選參數nc 為非中心參數。
PROBBNML(p ,n ,m) :設隨機變量Y 服從二項分布B( n ,p) ,此函數計算P( Y ≤ m) 。
POISSON((lambda ,n) :參數為lambda 的Poisson 分布Y ≤ n 的概率。
3.分位數函數
分位數函數是概率分布函數的反函數。其自變量在0 到1 之間取值。分位數函數計算的是分布的左側分位數。SAS 提供瞭六種常見連續型分布的分位數函數。
PROBIT(p) :標準正態分布左側p 分位數。結果在- 5 到5 之間。
TINV(p ,df < ,nc > ) :自由度為d f 的t 分布的左側p 分位數。可選參數nc 為非中心參數。
CINV(p ,df < ,nc > ) :自由度為d f 的卡方分布的左側p 分位數。可選參數nc 為非中心參數。
FINV(p ,ndf ,ddf < ,nc > ) : F( nd f ,dd f)分布的左側p 分位數。可選參數nc 為非中心參數。
GAMINV(p ,a) :參數為a 的伽馬分布的左側p 分位數。
BETAINV(p ,a ,b) :參數為( a ,b)的貝塔分布的左側p 分位數。
4.樣本統計函數
樣本統計函數把輸入的自變量作為一組樣本,計算樣本統計量。其調用格式為“函數名(自變量1 ,自變量2 ,… ,自變量n)”或者“函數名(OF 變量名列錶)” 。比如SUM 是求和函數,如果要求x1 ,x2 ,x3 的和,可以用SUM(x1 ,x2 ,x3) ,也可以用SUM(OF x1 - x3) 。這些樣本統計函數隻對自變量中的非缺失值進行計算,比如求平均時把缺失值不計入內。
各樣本統計函數如下。
MEAN :均值。
MAX :最大值。
MIN :最小值。
N :非缺失數據的個數。
NMISS :缺失數值的個數。
SUM :求和。
VAR :方差。
STD :標準差。
STDERR :均值估計的標準誤差,用STD/SQRT(N)計算。
CV :變異係數。
RANGE :極差。
CSS :離差平方和。
USS :平方和。
……
我是在一個比較緊張的項目截止日期前開始閱讀這本書的,當時壓力很大,急需一套快速而可靠的分析指南。這本書的錶現堪稱“雪中送炭”。它的索引和章節標題設計得非常清晰,使得我能夠迅速定位到需要解決的具體問題,例如“如何進行交互作用的可視化展示”或“如何評估處理效應的穩定性”。我發現它針對不同分析目的,直接推薦瞭最閤適的統計模型和軟件實現步驟,大大縮短瞭我查閱各種手冊和論壇的時間。特彆是書中關於結果報告和圖錶製作的建議,不僅指導我們如何得齣正確的統計結論,更重要的是,如何用清晰、有說服力的方式嚮評審專傢或同行展示這些結果,這一點在論文撰寫中至關重要。這本書就像一個多功能的工具箱,裏麵裝滿瞭應對各種田間試驗分析挑戰的利器,效率和準確性得到瞭雙重提升。
評分從我一個長期在田間地頭摸爬滾打的研究生的角度來看,這本書最大的價值在於其對“數據源頭質量”的強調。很多參考書都隻關注如何處理已經輸入電腦的數據,但這本書開篇就花瞭大篇幅討論如何確保田間原始記錄的準確性、如何標準化記錄格式,以及如何避免人為誤差的係統性影響。在我看來,這是決定整個試驗成敗的關鍵一步。書中詳盡列舉瞭不同作物、不同環境因子下容易齣現的數據陷阱,並給齣瞭相應的現場管理和記錄規範建議。這種“源頭控製”的理念,對於我們這些需要依賴大量學生和技術人員進行數據收集的團隊來說,具有極其重要的指導意義。它教會我,計算機分析的再精妙,也無法挽救源頭齣現問題的“垃圾數據”。這本書真正做到瞭將實驗室的嚴謹性延伸到瞭廣闊的田野之中。
評分這本關於田間試驗數據分析的書,從我的角度來看,簡直是為農業科研工作者量身定做的寶典。首先,這本書的結構安排得非常有條理,它不像那些晦澀難懂的理論教科書,而是非常注重實踐操作的指導性。我記得剛接觸田間試驗數據時,麵對堆積如山的原始記錄和復雜的統計模型,常常感到無從下手。這本書清晰地梳理瞭從數據采集、清洗到最終結果解讀的全過程,每一個步驟都配有詳盡的案例分析。特彆是對於那些初學者,書中對各種統計方法的原理進行瞭深入淺齣的解釋,讓人很容易理解其背後的邏輯,而不是盲目地套用公式。它強調的不僅是“如何做”,更是“為什麼這麼做”,這對於培養科學嚴謹的思維至關重要。閱讀過程中,我發現作者在選擇實例時非常貼閤實際,很多問題都是我們日常工作中會遇到的“老大難”,這本書給齣瞭非常務實且有效的解決方案。可以說,它極大地提升瞭我處理復雜試驗數據的信心和效率。
評分我必須承認,這本書的深度和廣度都超齣瞭我的預期。它不僅僅停留在基礎的描述性統計層麵,而是深入探討瞭高級的試驗設計和數據處理技術。對於我們這些需要進行多點、多年份試驗的科研人員來說,如何有效地處理數據的異質性、如何進行混閤模型分析,這些都是亟待解決的難題。這本書在這方麵提供瞭非常前沿和實用的指導。我特彆欣賞作者在處理缺失數據和異常值時的細緻考量,提供瞭多種處理策略,並分析瞭每種策略對最終結果可能帶來的影響。這種對細節的關注,體現瞭作者深厚的專業素養和嚴謹的治學態度。讀完之後,我感覺自己對“數據驅動決策”的理解上升到瞭一個新的層次,不再僅僅依賴於軟件的默認設置,而是能夠根據試驗的特性和數據的實際情況,做齣更科學、更閤理的分析選擇。這本書無疑是幫助我從“數據操作者”嚮“數據分析專傢”轉型的關鍵一步。
評分這本書的語言風格非常平易近人,這一點對於一本技術性很強的書籍來說是難能可貴的。它避免瞭過多使用那些令人望而生畏的術語堆砌,即便在講解復雜的統計檢驗時,也仿佛有一位經驗豐富的前輩在身旁耐心指導。我尤其喜歡作者在章節末尾設置的“反思與拓展”部分,這些小節常常能引導我思考當前分析方法的局限性,並啓發我去探索更多可能性。這種互動式的閱讀體驗,讓學習過程不再枯燥。舉個例子,書中關於方差分析(ANOVA)的講解,不僅展示瞭如何運行程序,更重要的是,它解釋瞭F檢驗背後的假設條件,以及當假設不滿足時應該如何進行穩健性分析。這種教學方式,真正做到瞭授人以漁,讓我能夠舉一反三,將書中學到的知識應用到我自己的具體研究課題中去。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有