王磊 閔佳鑫 鄂志國
(中國水稻研究所/水稻生物學(xué)國家重點實驗室, 杭州310006;第一作者:wanglei05@caas.cn;*通訊作者:ezhiguo@caas.cn)
R 語言已經(jīng)是工業(yè)界和學(xué)術(shù)界的主流和標(biāo)準(zhǔn)計算語言之一,可能已是科學(xué)研究中數(shù)據(jù)分析最流行的計算語言[1-4],更有學(xué)者認為R 語言是“免費、易學(xué)、最熱門、最公開透明、最全面、最新最快的統(tǒng)計軟件”[3]。但在中國知網(wǎng)(https://www.cnki.net/),選擇年份從 2000 年至2020 年,按照關(guān)鍵詞“R 語言”或者“R 軟件”對我國幾種主要農(nóng)學(xué)類學(xué)術(shù)期刊進行全文檢索,檢索到《中國農(nóng)業(yè)科學(xué)》100 篇,《作物學(xué)報》39 篇,而《中國水稻科學(xué)》只有6 篇,《雜交水稻》3 篇(其中1 篇是綜述)。檢索結(jié)果中,不排除只是在綜述或者討論中提到名稱,但也有可能個別論文所作的試驗數(shù)據(jù)分析采用了R 語言但沒有注明而沒有檢索到。不過,總的來說,檢索到的文章不少是組學(xué)研究和分子生物學(xué)研究領(lǐng)域的工作,農(nóng)業(yè)試驗數(shù)據(jù)分析,特別是水稻科研和基礎(chǔ)的大田試驗數(shù)據(jù)分析很少采用R 語言,其中的原因可能是:(1)農(nóng)業(yè)科研工作者的軟件使用習(xí)慣,譬如一直習(xí)慣采用SAS或者SPSS 等商用軟件;(2)對R 語言了解不多或者很少接觸;(3)也有可能是 R 語言的使用環(huán)境(R 軟件)不同于菜單式的軟件而需要編寫代碼的特點,妨礙了R語言的普及使用。
我們以兩篇文章的篇幅,介紹R 語言的基本知識點以及在農(nóng)業(yè)試驗數(shù)據(jù)上的基本應(yīng)用,希望有助于農(nóng)業(yè)科研工作者開始嘗試使用R 語言分析試驗數(shù)據(jù)。本文先介紹R 的下載安裝、起步使用以及R 的界面以及各項功能,接著介紹程序包的安裝和調(diào)用,然后是如何直接輸入試驗數(shù)據(jù)或者從文本或者Excel 工作表讀入,最后通過簡單的示例介紹利用R 語言作一些簡單的統(tǒng)計分析。
R 語言官方網(wǎng)站(https://www.r-project.org/)的第一句話是這樣介紹R 語言的:“R is a free software environment for statistical computing and graphics”[5],即“R是一個用于統(tǒng)計計算和繪圖的自由軟件環(huán)境”。這句話表明了R 的三大特色:強大的統(tǒng)計計算功能、便捷的數(shù)據(jù)可視化系統(tǒng)以及免費開源。R 軟件是R 語言的實現(xiàn)環(huán)境,借助于程序包,提供了一套完整的數(shù)據(jù)處理、統(tǒng)計分析和作圖等功能,譬如:各種類型的作圖、常用的統(tǒng)計檢驗、方差分析、線性和非線性建模、各種多元統(tǒng)計分析以及時間序列分析等等,使用者只需根據(jù)數(shù)據(jù)分析目的,清楚分析所需的圖形類型、統(tǒng)計計算或者統(tǒng)計模型,調(diào)用相應(yīng)的程序包以及其中的函數(shù),便可高效進行數(shù)據(jù)的統(tǒng)計分析。
需要說明,R 軟件是R 語言的實現(xiàn)環(huán)境,很多時候,我們不加以區(qū)分R 軟件或者R 語言,有時直接簡稱為R。
R 軟件的下載和安裝可以按照下列步驟執(zhí)行:
1)在 R 的官方網(wǎng)站(http://www.r-project.org),點擊藍色字體顯示的超鏈接“download R”,給出的是“CRAN 鏡像網(wǎng)站”(CRAN Mirrors)頁面,其中按照國別給出了各自國家的鏡像站。在給出的鏡像網(wǎng)站清單中選擇一個鏡像站,我們一般是選擇國內(nèi)(China)的鏡像站,譬如清華大學(xué)(TUNA Team, Tsinghua University)對應(yīng)的鏡像站域名:https://mirrors.tuna.tsinghua.edu.cn/CRAN/,點擊進入該鏡像站后,有適合3 個不同操作系統(tǒng)的下載選擇:“download R for Linux”、“download R for(Mac) OS X”、“download R for Windows”,如果電腦是微軟Windows 操作系統(tǒng),點擊“download R for Windows”,在出現(xiàn)的下載頁面,點擊“Base”,在隨后的頁面上點擊“download R 4.0.5 for Windows”下載 R,其中的R 4.0.5 表明R 的版本號是4.0.5,這也是目前最新的版本號(2021 年 5 月 10 日)。
2)下載后,雙擊下載的安裝文件R-4.0.5-win.exe開始安裝。在安裝過程中需要選擇安裝的語言,默認為中文。 這里的中文選擇只是表明安裝過程是中文界面。
3)如果按照默認設(shè)置,軟件將安裝在文件夾c:Program FilesRR-4.0.5,當(dāng)然也可以選擇不同的位置安裝。
4)安裝結(jié)束后,在桌面會生成一個R 啟動命令的快捷鍵,真正的R 啟動命令是位于目錄c:Program FilesRR-4.0.5bin 中的命令文件Rgui.exe。
只需雙擊桌面上的R 快捷鍵(或者點擊開始菜單上的R 按鈕)便可打開R 軟件窗口(圖1)。
R 軟件窗口(或者直接稱為“R 窗口”)界面比較簡潔,由三部分組成:菜單欄、快捷鍵按鈕以及稱為R 控制臺(R Console)的交互式命令對話窗口。R 控制臺是R 窗口的主要界面,如果編寫腳本或者作圖,還會用到編輯器窗口和圖形窗口。
R 窗口的菜單欄中具體欄目有文件、編輯、查看、其他、程序包、窗口、幫助;而菜單欄下方列出了8 個快捷鍵按鈕,對應(yīng)常用的一些命令功能,從第一個的“打開程序腳本”按鈕到最后一個“打印”按鈕。如果我們將鼠標(biāo)的光標(biāo)對準(zhǔn)按鈕,光標(biāo)下方就會顯示按鈕的中文名稱。
R 控制臺是一個交互式命令對話窗口,命令提示符是大于符號“>”,在該提示符右側(cè)閃動的光標(biāo)位置表示在此處可以輸入指令,回車即得結(jié)果。比如,簡單的加法2+3,在輸入命令后,按回車鍵執(zhí)行:
在命令2+3 下方給出了計算結(jié)果5,類似地,各種命令可在R 命令行中輸入,回車既得結(jié)果。
結(jié)果5 左側(cè)有標(biāo)記[1],該標(biāo)記表示計算輸出結(jié)果的第一行(本意是這一行的第一個字符是輸出結(jié)果的第一個字符),不過,如果輸出結(jié)果多于一行,那么第二行中括號的數(shù)字表示該行的第一個字符的序號,如第一行有5 個數(shù)字,那么第二行中括號中的數(shù)字為6,即,表示第二行的第一個數(shù)字為輸出結(jié)果的第6 個數(shù)字;依次類推。如利用英文冒號:生成1 到30 的自然數(shù):
從生成的自然數(shù)序列很容易明白最左側(cè)的中括號中的數(shù)字所代表的含義。不過,結(jié)果顯示的行的寬度與當(dāng)時控制臺窗口的寬度有關(guān)。
在R 命令行中交互式輸入命令時,我們可以使用鍵盤中的上下方向鍵查看已輸入命令的歷史記錄。根據(jù)需要,我們就可以選擇一個之前輸入過的命令,按回車鍵可重新執(zhí)行該命令,當(dāng)然也可以修改之前的命令并執(zhí)行。
我們注意到啟動R 軟件后,在R 控制臺窗口中“>”提示符上方的說明給出了R 的版本號(R version 4.0.5),并指出了R 是自由軟件并提示可以用命令license()或者licence()獲取版權(quán)相關(guān)的信息,可以用contributors()查看R 語言開發(fā)過程中的重要貢獻者,用citation()可以獲取R 軟件的參考文獻格式(包括latex 引用格式)。同時也提醒,特別是對于初學(xué)者,可以用命令demo()很粗略地了解R 的基本功能和能作出的一些基本圖形。我們可以嘗試輸入命令:
輸入該命令回車后給出了4 個基礎(chǔ)程序包(base、graphics、grDevices 和stats)的演示示范函數(shù)。譬如程序包graphics 有6 個演示函數(shù),如果想了解演示函數(shù)的演示內(nèi)容,例如函數(shù)graphics(與程序包同名),則可輸入命令,然后回車:
按照演示的提示,逐步按回車鍵,可以了解R 的一些圖形功能以及作出的圖形。
另外,也提示了可以用命令help()獲取幫助信息,譬如希望查看t 檢驗函數(shù)t.test()的幫助信息,可以采用命令:
而help.start()給出了HTML 瀏覽器來查看幫助文件:
在顯示的HTML 頁面上給出了非常豐富的R 幫助信息的匯總頁面。
如果我們希望退出R,可以單擊軟件窗口(RGui窗口)的右上角的叉號按鈕,或者直接輸入命令q()然后回車:
隨后出現(xiàn)的對話框詢問“是否保存工作空間映像?”,有 3 個選項:“是”、“否”和“取消”。如果選擇“是”,2 個新文件:“.Rhistory”和“.Rdata”將會在工作目錄下創(chuàng)建,所有先前輸入的R 命令都會保存在“.Rhistory”,而所有的工作空間保存在“.RData”。注意這2 個文件都沒有前綴。下一次啟動R 時,通過這2 個文件,前一次保存的工作空間和輸入的命令將自動恢復(fù)還原。
R 軟件是R 語言的實現(xiàn)環(huán)境,具體來說,R 軟件或許可以看作是由基于R 語言的許多常規(guī)和現(xiàn)代統(tǒng)計方法的運行環(huán)境,許多統(tǒng)計方法作為R 的基礎(chǔ)運行環(huán)境的一部分是由稱為程序包(package)的函數(shù)來提供的。軟件R 下載安裝時,已經(jīng)自動安裝了基礎(chǔ)和常用的30個程序包,包括最基礎(chǔ)的程序包base、stats 和 graphics,以及數(shù)據(jù)集包datasets。但還有許許多多豐富多彩、日新月異的數(shù)據(jù)分析程序包,用戶可以很方便下載使用。目前程序包的數(shù)目已經(jīng)過萬[1],這是R 的使用方便、功能強大的最主要的一個原因。
一個程序包是由相關(guān)的函數(shù)、數(shù)據(jù)及文檔組成。除了R 安裝時經(jīng)自動安裝的30 個程序包,如果我們在數(shù)據(jù)分析時需要用到還沒有安裝的某個程序包中的函數(shù),則我們需要先下載安裝該程序包,然后加載該程序包,才能使用所需函數(shù)。當(dāng)然,程序包只需下載安裝1次即可,只是每次使用程序包中的函數(shù)之前,必須加載該程序包。在R 軟件菜單中的“程序包”欄目提供了“安裝程序包”和“加載程序包”選項,由此可以進行下載安裝以及加載程序包。但更為方便的方法是利用命令進行下載安裝和加載。
1.3.1 安裝程序包
利用函數(shù)install.packages()下載安裝程序包,函數(shù)括號內(nèi)輸入需要安裝的包名,并在兩邊加引號(注意是在英文輸入狀態(tài)下的雙引號)。以安裝農(nóng)業(yè)科研數(shù)據(jù)分析的一個程序包agricolae 為例,安裝該程序包:
需要注意,R 對于英文字母的大小寫敏感,所以要時刻注意區(qū)分字母的大小寫。另外,也需注意區(qū)分中英文的標(biāo)點符號,在R 語言中都是使用英文輸入法狀態(tài)下的標(biāo)點符號。
1.3.2 加載程序包
一個程序包下載安裝后,如果我們需要使用程序包中的函數(shù),我們必須先加載該程序包,然后才能使用其中的函數(shù)。我們是利用函數(shù)library()來加載程序包的,函數(shù)括號內(nèi)寫上需要加載的程序包名稱(可以不加雙引號)。以加載程序包為例:
加載后,就可以使用該程序包的函數(shù)。如果希望了解程序包中的函數(shù),同樣可以利用命令library()來查看:
另外,每次R 啟動時,自動加載了6 個基礎(chǔ)程序包base、stats、graphics、grDevices、methods、utils 和 數(shù) 據(jù) 集包datasets,5 個基礎(chǔ)程序包中的函數(shù)可以直接調(diào)用,不需重復(fù)加載這些程序包,如我們這里用到的2 個函數(shù)install.packages()和library()分別是基礎(chǔ)包 utils 和 base的函數(shù),不必考慮加載函數(shù)所屬的程序包,可以拿來就用。
而基礎(chǔ)包中的數(shù)據(jù)集包datasets 中含有不同研究領(lǐng)域不同類型的數(shù)據(jù)集104 個(版本4.2.0),不需加載,可以直接調(diào)用包中的數(shù)據(jù)集。包中的數(shù)據(jù)集中有不少是農(nóng)學(xué)和生物學(xué)學(xué)科的數(shù)據(jù)集,在學(xué)習(xí)R 語言的具體統(tǒng)計分析方法時,可以通過數(shù)據(jù)集名稱很方便地調(diào)用作為學(xué)習(xí)練習(xí)用的示例數(shù)據(jù)。如果希望查看包中的數(shù)據(jù)集,類似于查看程序包中的函數(shù),利用命令library()查詢:
在顯示的數(shù)據(jù)集清單中,第4 個數(shù)據(jù)集是草本植物吸收的二氧化碳(Carbon Dioxide Uptake in Grass Plants)數(shù)據(jù)集CO2,如果我們希望了解數(shù)據(jù)集的內(nèi)容,可以直接輸入數(shù)據(jù)集名即可:
如果只是想查看數(shù)據(jù)集前幾行,可以利用函數(shù)head()查看(n=3 表示只顯示前3 行。這一參數(shù)選項可以簡寫為3):
給出的數(shù)據(jù)集中的第一行是各列的變量名稱,隨后給出了數(shù)據(jù)集中的觀察值,最左側(cè)的整數(shù)1、2、3 表示觀察值對應(yīng)行的序號。R 中變量名稱可以是中文,但不建議這么去做,而觀察值具體數(shù)值可以是中文。
如果進一步希望了解該數(shù)據(jù)集的背景,包括每個變量的定義等等,可以通過幫助命令查看:
幫助信息中,給出了數(shù)據(jù)集的描述(Description)、格式(Format)、采集數(shù)據(jù)集的試驗內(nèi)容(Details)、數(shù)據(jù)來源及相關(guān)文獻(Source)以及基于該數(shù)據(jù)集的統(tǒng)計分析例子(Examples)。
在開始使用R 分析數(shù)據(jù)之前,最好先確定工作目錄。菜單中“文件”欄目中的“改變工作目錄”可以查看當(dāng)前的工作目錄,并作出更改。我們也可利用命令getwd()查看當(dāng)前工作目錄,如需更改,可以利用函數(shù)命令setwd()進行更改。
這是當(dāng)前工作目錄,如要將工作目錄改為其他目錄,如D:MyR,那么通過命令setwd()作此改變:
注意在命令中的目錄路徑中是單斜杠,與Windows 中寫法中的單斜杠方向正好相反。R 中另外一種目錄路徑的寫法是雙斜杠,方向與Windows 中寫法中的單斜杠一致:
R 語言的介紹和使用不僅在網(wǎng)上很容易查詢,也有許多中文書籍可以購買閱讀?;蛟S可以從閱讀R 的官方網(wǎng)站中的中文幫助手冊開始:例如,R 的綜合檔案網(wǎng)絡(luò)平臺CRAN(https://cran.r-project.org)有不少很好的幫助文檔,其中在非英文部分(Non-English Documents)的中文名目(Chinese)下有3 份非常實用的中文文檔(https://cran.r-project.org/other-docs.html):R reference card(R 參考卡片)、Frequently asked questions(R常見問題解答)以及Statistics and R Reading Notes(統(tǒng)計學(xué)與R 讀書筆記)。
R 系統(tǒng)本身也提供便捷的幫助(R 窗口菜單中“幫助”欄目可以查詢,只是幫助信息都是英文的)。想獲取在線幫助,可調(diào)用函數(shù)。例如,我們希望簡單了解程序包,先加載該程序包:
或者只是用問號“?”(注意是英文輸入法狀態(tài)下的問號):
如果希望了解函數(shù)包中的函數(shù),可以利用函數(shù)library()查看:
如果希望了解某一個函數(shù)的使用方法,如計算均值的函數(shù)mean(),輸入命令:
或者簡單地用問號:
函數(shù)mean()是基礎(chǔ)程序包base 的函數(shù),R 啟動時,基礎(chǔ)程序包base 自動加載,所以可以直接尋求幫助。如果希望查看某個特定程序包的函數(shù),必須確認該程序包已加載,不然需要先加載該程序包。如果我們希望查看agricolae 中的LSD 多重比較函數(shù)LSD.test(),需要先加載程序包再尋求幫助:
在R 控制臺交互窗口的命令行,輸入命令,回車得到結(jié)果,簡單直接。而且,通過鍵盤中的上下箭頭鍵,可以調(diào)用已經(jīng)輸入過的命令和內(nèi)容,不用重復(fù)輸入。不過用了一段時間,慢慢熟悉了一些,可以學(xué)習(xí)創(chuàng)建程序腳本,執(zhí)行的命令可以重復(fù)使用,提高計算效率。我們可以從R 窗口菜單中的“文件”欄目中的“新建程序腳本”生成R 編輯器窗口,然后在該窗口編寫代碼,利用R編輯器窗口中的“編輯”欄目中的選項運行執(zhí)行編寫好的代碼。
如果覺得R 平臺的綜合功能以及使用界面不是很友好,則可以了解一些方便用戶使用和編程的界面較為友好的圖形界面軟件(可參考“R 語言7 個免費的GUI 圖 像 界 面 工 具 說 明 ”:https://blog.csdn.net/lhy55040817/article/details/8484883),并從中做出選擇。目前使用最廣的是Rstudio,建議在安裝R 軟件后,同時也安裝 Rstudio。Rstudio 下載網(wǎng)站是:https://www.rstudio.com。
學(xué)習(xí)任何一個數(shù)據(jù)統(tǒng)計分析軟件,其中最關(guān)鍵的一個內(nèi)容是掌握這一軟件是如何輸入或者讀入數(shù)據(jù)的。R 的常用數(shù)據(jù)輸入和讀入大致可以分為以下幾類:(1)直接輸入;(2)基于文本文件的讀入;(3)基于 Excel數(shù)據(jù)表的讀入。每一類都有多種的方法,這里介紹的方法較為常用而且相對簡單。
如果試驗數(shù)據(jù)較少,我們可以從控制臺窗口直接輸入數(shù)據(jù)。直接輸入數(shù)據(jù)需要利用拼接函數(shù)c(),不同數(shù)值之間用英文逗號分開,如果是字符,字符兩邊需要用英文引號,同時,輸入的數(shù)據(jù)(稱為數(shù)據(jù)向量)一般會保存,便于隨后的分析。在《試驗統(tǒng)計方法》中的表3.7給出了某水稻雜種第二代植株米粒性狀的分離情況,分離類別和頻數(shù)分別是:紅米非糯,96;紅米糯稻,37;白米非糯,31,白米糯稻,15[6]。我們利用函數(shù)分別輸入分離類別和頻數(shù),并保存為f2group 和f2freq:
如果想了解數(shù)據(jù)輸入的變量內(nèi)容,可以利用函數(shù)print()查看(或者直接輸入變量名稱。這里,兩個命令在同一行,命令之間需要用英文分號隔開):
進一步,利用函數(shù)sum()可以很方便地計算這4 種類別頻數(shù)的總數(shù):
假設(shè)我們需要讀入以逗號分隔的csv 格式的文本數(shù)據(jù)文件datafile.csv(常常從Excel 數(shù)據(jù)文件將數(shù)據(jù)電子表保存為csv 格式文件),最常用的方法是用函數(shù)read.csv()讀入(保存為 mydata):
其中選項header=TRUE 表示datafile.csv 的數(shù)據(jù)表有表頭(類似于數(shù)據(jù)集CO2,每一列都帶有變量名)。我們還可以用參數(shù)sep 來設(shè)置數(shù)據(jù)之間的分隔符號,默認為逗號,如果是空格符號,sep="";如果是制表符Tab鍵,sep=" "。假設(shè)是制表符作為分隔符號,那么利用函數(shù)讀入datafile.csv 的設(shè)置為:
如果數(shù)據(jù)文件datafile.csv 不在工作目錄中,那么我們需要給出該文件所在的目錄路徑,如文件在文件夾D:MyR,那么相應(yīng)的讀入命令修改為:
讀入文本數(shù)據(jù)另外一個常用的函數(shù)是read.table(),用法也與read.csv()類似。
Excel 文件中的數(shù)據(jù)表可以利用openxlsx、readxl等程序包中的函數(shù)讀入。我們以程序包openxlsx 中的函數(shù) read.xlsx()為例簡單介紹讀取xlsx 格式的Excel 電子表數(shù)據(jù)。
首先先下載安裝并且加載程序包openxlsx(其中#為注釋符號,表明#右邊的注釋內(nèi)容在運行代碼時跳過忽略):
假如數(shù)據(jù)存儲在Excel 文件MyExcelDataFile.xlsx中的第2 個工作表,那么可以利用包中的函數(shù)讀入該數(shù)據(jù)電子表:
當(dāng)然,我們也可通過工作表的名稱來讀入,比如工作表名稱是sheet2,那么可以通過下面的代碼讀入該工作表:
注意,read.xlsx()的讀入方式默認讀入工作表表頭,同時Excel 文件名以及其中的工作表可以是中文名稱。
如果需要讀入較老版本的Excel 文件(xls 格式),程序包readxl 提供了函數(shù) read_xls(),該函數(shù)的用法與read.xlsx()類似。
夸R 好,說R 行,但百聞不如一見,百見不如一試。我們在這一節(jié)簡單用一下R,看R 是如何方便高效地進行數(shù)據(jù)匯總、作圖,以及線性相關(guān)和線性回歸計算。
我們利用莫惠棟著作《農(nóng)業(yè)試驗統(tǒng)計》中的一個用于介紹線性回歸分析的例子(例10.1)的數(shù)據(jù)集[7]來介紹R 的數(shù)據(jù)匯總和基本的作圖功能,在下一小節(jié)介紹用R 函數(shù)進行線性相關(guān)和線性回歸分析。
例1. 許多害蟲的發(fā)生都和氣象條件有一定關(guān)系。山東臨沂測定10 年間(1964—1973 年)7 月下旬的溫雨系數(shù)(雨量mm/平均溫度C)和大豆第二代造橋蟲發(fā)生量(每百株大豆上蟲數(shù))的關(guān)系如表1,試建立回歸方程。
我們利用函數(shù)c()分別輸入表1 中的溫雨系數(shù)的數(shù)據(jù)以及對應(yīng)的百株蟲密度,并保存為TRcoef 和Dworm:
表1 溫雨系數(shù)和大豆第二代造橋蟲蟲口密度
查看一下數(shù)據(jù)向量TRcoef 和Dworm 具體的數(shù)值:
對于數(shù)據(jù)向量TRcoef 和Dworm,可以利用R 函數(shù)很方便進行相關(guān)的匯總計算,如利用函數(shù)mean() 和sd() 計算平均值和標(biāo)準(zhǔn)差,或者利用函數(shù)summary () 對Dworm 進行簡單的數(shù)據(jù)匯總(計算結(jié)果依次給出):
如果需要對數(shù)據(jù)向量的每個元素作同樣的計算,如對向量Dworm 的每個元素作log 變換,不需要對每個元素分別做log 變換,只需要將函數(shù)log () 作用于Dworm 即可:
我們也可以很方便地作出常見的統(tǒng)計圖形,如利用函數(shù)hist()和boxplot()作出數(shù)據(jù)向量Dworm 的直方圖(圖2)和箱線圖(圖 3):
如果需要作出百株蟲密度Dworm 與溫雨系數(shù)TR-coef 的散點圖,我們可以采用函數(shù)plot ()(在參數(shù)設(shè)置中,用于x 軸變量的TRcoef 在前,用于y 軸變量的Dworm 在后):
從作出的圖形(圖4)可以幫助我們很清晰地看到百株蟲密度Dworm 與溫雨系數(shù)TRcoef 呈一定程度的負的線性相關(guān)。
進一步,如果我們希望完善圖形,利用函數(shù)plot()參數(shù)設(shè)置很容易做到。比如,希望x 坐標(biāo)軸和y 坐標(biāo)軸的坐標(biāo)說明不是變量名而是中文說明,那么可以利用函數(shù)的參數(shù)選項xlab 和ylab 進行設(shè)置。在下一小節(jié)圖5 中可以看到添加坐標(biāo)軸說明的效果):
plot () 的其他更多的參數(shù)選項和相關(guān)內(nèi)容可以利用命令help(plot) 查看了解。
進一步,如果我們希望計算百株蟲密度Dworm 與溫雨系數(shù)TRcoef 之間的相關(guān)系數(shù),并進行相關(guān)性檢驗,我們利用函數(shù)cor.test()進行計算和檢驗:
從計算結(jié)果的最后一行可知,百株蟲密度Dworm與溫雨系數(shù)TRcoef 的相關(guān)系數(shù)r = -0.9201,統(tǒng)計檢驗的 P 值(p-value)= 0.0001618,檢驗結(jié)果極顯著,即數(shù)據(jù)有極強的證據(jù)表明兩個變量之間的總體相關(guān)系數(shù)不等于 0。
從作出的2 個變量的散點圖(圖5)中,已經(jīng)清楚百株蟲密度與溫雨系數(shù)呈一定程度的負的線性相關(guān),進一步,我們希望建立基于溫雨系數(shù)的百株蟲密度的線性回歸模型,利用函數(shù) lm()和summary()可以得到擬合系數(shù)、統(tǒng)計檢驗以及決定系數(shù)R2:
從計算結(jié)果的回歸系數(shù)(Coefficients)可知,簡單線性回歸的截距和斜率的擬合系數(shù)在Estimates 一欄給出,分別是179.212 和-14.110,其顯著性檢驗的P 值在最后一欄(Pr(>|t|)給出,分別是 9.02e-07 和 0.000162,統(tǒng)計上都是極顯著,而決定系數(shù)R2是在計算結(jié)果的最后一部分的第二行給出,Multiple R-squared:0.8466,即R2= 0.8466,也就是說,84.66%的大豆第二代造橋蟲發(fā)生量的變異可以由7 月下旬的溫雨系數(shù)解釋。
最后,如果還希望在散點圖(圖4)上添加擬合的回歸直線,這可以由函數(shù)abline()很方便地做到,其中myfit 是前面線性回歸中保存的 lm (Dworm~TRcoef) 的計算結(jié)果。
相對于許多商用的統(tǒng)計分析軟件,R 免費開源,優(yōu)勢明顯?!氨阋嘶蛘呙赓M無好貨”的說法,對于R 是不成立的。在R 開始應(yīng)用的近 20 年,眾人拾柴火焰高,開發(fā)的程序包無數(shù),對于科研項目的數(shù)據(jù),不管是來自田間試驗還是實驗室的實驗,R 語言都有相應(yīng)的程序包可以使用,滿足分析的要求,而且很多時候同時有多個程序包和多種函數(shù)可以選擇。
R 的一個明顯缺陷是計算結(jié)果和幫助信息是用英文表述的,不過,一種較為方便的規(guī)避途徑是通過百度、搜狗、必應(yīng)等搜索引擎查詢相關(guān)的內(nèi)容,尤其是相關(guān)的例子,可以快速上手并幫助正確解讀R 計算結(jié)果;另外一種較為系統(tǒng)的了解學(xué)習(xí)是通過相關(guān)的中文資料和書籍來熟悉常用函數(shù)的用法和結(jié)果的解讀,除了文中提到的R 的綜合檔案網(wǎng)絡(luò)平臺CRAN 給出的3 份中文文檔,參考文獻中也列出了我們常常用來學(xué)習(xí)查閱的書籍,可供參考[3-4,8-10]。當(dāng)然,在網(wǎng)上書店還有許許多多的相關(guān)書籍,可以選擇適合自己的書來入門學(xué)習(xí)。
R 的使用如果能掌握一些簡單的編程能力當(dāng)然更好,不過大多數(shù)時候并不需要,只需要能正確調(diào)用及使用試驗數(shù)據(jù)分析所需的程序包中的函數(shù)就可以。通過本文的簡單介紹,希望能打消初學(xué)者對R 的畏難情緒,激發(fā)使用R 的興趣,盡快入門,掌握R 使用的一些基本方法。像學(xué)習(xí)任何一個軟件,活學(xué)活用、邊用邊學(xué)是最好的、也可能是最有效的方法,所以打開電腦,下載安裝R,開始使用,用R 分析自己的試驗數(shù)據(jù)吧。