張佳進, 陳立暢,陳克平,唐君君
(1.云南農業(yè)大學 基礎與信息工程學院,云南 昆明 650201;2.云南農業(yè)大學 工程技術學院,云南 昆明 650201)
基于R語言的農業(yè)試驗統(tǒng)計軟件的設計與實現(xiàn)
張佳進1, 陳立暢2,陳克平1,唐君君1
(1.云南農業(yè)大學 基礎與信息工程學院,云南 昆明 650201;2.云南農業(yè)大學 工程技術學院,云南 昆明 650201)
文中針對國內農業(yè)試驗統(tǒng)計分析軟件相對缺乏的現(xiàn)狀,提出基于R統(tǒng)計語言和JAVA構建農業(yè)試驗統(tǒng)計軟件開發(fā)平臺的設計方案。實現(xiàn)了R統(tǒng)計語言和JAVA的集成與融合,可跨平臺運行在windows和Linux操作系統(tǒng)的農業(yè)試驗統(tǒng)計軟件。該軟件具有開源免費,用戶界面友好,簡單易用,系統(tǒng)擴展能力強等特點,非常適合應用于農業(yè)科研和教學研究中。
農業(yè)試驗統(tǒng)計;R語言;Eclipse;StatET
在進行農業(yè)科學試驗的過程中,試驗所獲得的數(shù)據(jù)往往具有龐大、復雜和凌亂等特點,只有通過正確的處理和統(tǒng)計分析,才能發(fā)現(xiàn)其內在規(guī)律。統(tǒng)計分析軟件已經成為試驗數(shù)據(jù)處理與分析的必備工具,然而目前廣泛使用的商業(yè)統(tǒng)計軟件例如SAS、SPSS等,對農業(yè)試驗設計及統(tǒng)計分析方面的內容,或涉及較少,或側重點不同,這往往不太適合農業(yè)田間試驗設計與統(tǒng)計分析。另外國外的很多商業(yè)統(tǒng)計軟件存在用戶界面不夠友好,需要專業(yè)的統(tǒng)計知識,學習難度大,使用不方便等問題。由于國內試驗統(tǒng)計軟件的相對缺乏,使得農業(yè)試驗統(tǒng)計工作的應用和發(fā)展在一定程度上受到了影響。
R軟件是一款集成了數(shù)據(jù)操作、統(tǒng)計分析和可視化功能的優(yōu)秀的開源軟件,自1993年誕生以來,深受統(tǒng)計學家和計量愛好者的喜愛,被國外大量學術與科研機構采用,其應用范圍涵蓋了計量經濟學、實證金融學、空間統(tǒng)計學、統(tǒng)計遺傳學和生物信息學等諸多領域,現(xiàn)已成為國際主流統(tǒng)計軟件之一。
相對于商業(yè)統(tǒng)計軟件而言,R的主要特色在于: 1)R語言具有自由、免費開放源代碼的特點,用戶既可以查看分析統(tǒng)計函數(shù)的代碼,學習如何實現(xiàn)相關統(tǒng)計功能,也可以在原函數(shù)的基礎上進行修改,實現(xiàn)個性化的統(tǒng)計算法; 2) R語言是面向對象的統(tǒng)計編程語言,具有強大的統(tǒng)計計算與圖形展示功能; 3) R軟件體積小,更新速度快; 4) R的擴展性強,來自世界各地開源社區(qū)的研究者為其提供了豐富的統(tǒng)計軟件包[1]。
目前國內R語言用戶還不是很多,大部分人主要采用SPSS或SAS等商業(yè)統(tǒng)計軟件,只有少數(shù)國內高校使用R語言進行統(tǒng)計教學。不過,近年來國內已有不少專家學者開始關注、推廣R語言而努力[2-4]。
另外,對于試驗設計與現(xiàn)代應用生物統(tǒng)計方法領域,R的CRAN網站上提供了大量相關的軟件工具包,如著名的AlgDesign、Crossdes、Conf.design、DoE.base、FrF2 等, 這 為農業(yè)試驗統(tǒng)計的教學與科研提供了便利。
當然R也存在著諸多需要完善的地方,例如在Windows時代,用戶很難適應R的命令交互模式,用戶界面簡陋,缺乏人性化設計,初學者需要花費較多的時間才能熟練應用R統(tǒng)計語言。其次,R語言的編程調試環(huán)境較差,集成度較低,開發(fā)、調試繁瑣,用R語言直接進行統(tǒng)計分析,對初學者來說難度較大。
文中提出了集成Java開發(fā)環(huán)境、R統(tǒng)計軟件包、rJava接口軟件包[5-6]、Eclipse編輯器、插件StatET[7]的新型農業(yè)試驗統(tǒng)計軟件設計方案,該軟件采用視窗交互界面,用戶界面友好,簡單易用,能快速構建出基于R語言的農業(yè)試驗統(tǒng)計分析軟件(當然也支持其他各類統(tǒng)計分析),系統(tǒng)擴展性好,可無縫運行在Windows和Linux操作系統(tǒng),能有效地實現(xiàn)軟件復用及資源共享。
農業(yè)試驗統(tǒng)計軟件主要由Java開發(fā)運行環(huán)境、R統(tǒng)計軟件包、rJava接口軟件包、Eclipse編輯器、插件StatET組成,其系統(tǒng)邏輯結構如圖1所示。圖2為農業(yè)試驗統(tǒng)計軟件集成開發(fā)環(huán)境操作界面。

圖1 農業(yè)試驗統(tǒng)計軟件系統(tǒng)結構Fig.1 Schematic diagram of agricultural experimental and statistical software

圖2 農業(yè)試驗統(tǒng)計軟件集成開發(fā)環(huán)境操作界面Fig.2 Interface chart of agricultural experimental and statistical software
1.2.1 Eclipse
Eclipse是著名的跨平臺的免費開源集成開發(fā)環(huán)境(IDE)。Eclipse本身只是一個框架平臺,但眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性,因此許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。另外Eclipse是一個很好的文本編輯器,支持自動縮進,語法高亮顯示等功能;通過Eclipse,可以非常方便地維護腳本語言例如R語言的腳本文件,通過使用相應插件,可以量身定制個性化的編輯環(huán)境。
1.2.2 StatET
StatET是Eclipse的插件,具有如下特點:免費開源;支持在Eclipse平臺上(通過將代碼發(fā)送到R)運行R程序;支持語法高亮顯示;支持使用R代碼模板;支持創(chuàng)建R的文檔文件(*.Rd);可以從Eclipse運行R命令。
1.2.3 rJava
rJava軟件包主要作為R語言與Java的接口,實現(xiàn)R語言與Java的互動。既可以在R中調用Java代碼,也可以在Java中運行R語言程序。
本文以Windows操作系統(tǒng)為例,介紹試驗統(tǒng)計軟件集成開發(fā)環(huán)境的安裝及調試運行方法。

圖3 農業(yè)試驗統(tǒng)計軟件集成開發(fā)環(huán)境的構建步驟Fig.3 Design steps of IDE for agricultural experimental and statistical software
第1步: 從網絡下載安裝R軟件后,在R控制臺中執(zhí)行命令 install.packages("rJava"),安裝 rJava 包。
第2步:因為Eclipse是Java應用程序,所以需要從Java官方網站下載并安裝JRE(Java Runtime Environment)。
第3步:下載Eclipse后,直接解壓到合適的路徑即可運行,無需安裝。
第4步: 安裝StatET插件。StatET主要通過Eclipse按照如下步驟進行在線安裝。
在Eclipse中依次選擇“Help”->“Install New Software”,在彈出的對話框中將“http://download.walware.de/eclipse-3.8”輸入到更新源中并點擊“Add”按鈕后,按相應提示依次安裝StatET。
啟動Eclipse后,依次選擇菜單欄中的“Windows”,“Open perspective”,“Other”,在彈出的對話框中選中“StatET”并單擊“確定”,就打開激活了StatET 。
3.2.1 新建一個工程
在Eclipse軟件中依次選擇菜單欄中的“File”,“New”,“RProject”,在相應對話框填好工程名和工作路徑后,單擊“Finish”按鈕。新建的工程可以在“Project Explorer”視圖中看到。例如在圖4中,建立了包含兩個分別名為“Monte Carlo優(yōu)化設計”、“全因子試驗設計”R語言腳本的工程。
3.2.2 向工程添加文件
右鍵單擊“Project Explorer”中的工程名,依次選擇“New”,“R-Script file”,打開新建R的腳本文件對話框輸入文件名后即可生成R語言腳本文件。

圖4 新建R工程示例Fig.4 Demo of new R project
前面編輯的R程序現(xiàn)在還不能運行。還需要對StatET做相應配置才行。在Eclipse中選擇菜單欄中的“Windows”,“Preferences”,打開配置窗口,展開StatET,定位到“R Environments”,點擊右側的按鈕“Add”,將計算機上安裝的R相關路徑添加進去,最后關閉該對話框,如圖5所示。

圖5 StatET插件的交互環(huán)境配置Fig.5 Configuration of interaction environment toward StatET component
在Eclipse菜單欄中選擇“Run”->“Run Configurations”,在Main標簽中按圖6進行配置。最后在工具欄中打開配置好的R控制臺,運行“Run Configurations”,打開R控制臺。

圖6 StatET插件的運行環(huán)境設置Fig.6 Configuration of run time environment toward StatET component
接下來就可以將前面在Eclipse中建立的R語言腳本Monte Carlo優(yōu)化設計.R提交給R運行。將焦點設置到工程管理器中的“Monte Carlo優(yōu)化設計.R”文件上,這時工具欄上就會出現(xiàn)R的運行命令按鈕,可以選擇所需要的方式來運行R語言代碼。圖7為Monte Carlo優(yōu)化設計在R控制臺中輸出的執(zhí)行結果。

圖7 Eclipse中R語言腳本運行示例Fig.7 Demo of running result from R script in Eclipse
通過以上步驟,就可以在Eclipse集成運行R代碼,系統(tǒng)用戶界面友好,簡單易用,方便了R語言的學習與開發(fā)。
文中針對農業(yè)試驗統(tǒng)計分析軟件相對缺乏的現(xiàn)狀,提出了集成Java運行環(huán)境、R統(tǒng)計軟件包、rJava接口軟件包、Eclipse編輯器、插件StatET的新型農業(yè)試驗統(tǒng)計軟件設計方案,該軟件平臺采用視窗交互界面,用戶界面友好,簡單易用,能快速構建出基于R語言的個性化農業(yè)試驗統(tǒng)計分析軟件,系統(tǒng)擴展性好,可無縫運行在Windows和Linux操作系統(tǒng),能有效地實現(xiàn)軟件復用及資源共享,非常適合應用于農業(yè)科研與教學研究中。文中對農業(yè)試驗統(tǒng)計軟件的多元化選擇與個性化定制,進行了有益的嘗試。
[1]Lumley T. Package 'survey'.[EB/OL]. [2014-04-06].http://faculty.washington.edu/tlumley/survey/.
[2]王斌會.多元統(tǒng)計分析及R語言建模[M].廣州:暨南大學出版社,2010.
[3]薛毅,陳立萍.統(tǒng)計建模與R軟件[M].北京:清華大學出版社,2007.
[4]湯銀才.R語言與統(tǒng)計分析[M].北京:高等教育出版社,2008.
[5]Urbanek S. rJava: Low-Level R to Java Interface. [EB/OL].[2014-04-01]. http://www.RForge.net/rJava/.
[6] 李祥林,妙旭華,賈桂霞. 基于UML的重金屬污染預警系統(tǒng)的分析與設計[J]. 工業(yè)儀表與自動化裝置,2012(5):9.
LI Xiang-lin,MIAO Xu-hua,JIA Gui-xia. Analysis and design of the warning system for pollution of heavy metals based on UML[J]. Industrial Instrumentation & Automation,2012(5):9.
[7] Longhow Lam. A guide to Eclipse and the R plug-in StatET.[EB/OL]. [2014-04-03]. www.splusbook.com.
Design and implement of agricultural experimental and statistical software based on R language
ZHANG Jia-jin1, CHEN Li-chang2, CHEN Ke-ping1, TANG Jun-jun1
(1.School of Science and Information Engineering ,Yunnan Agriculture University ,Kunmin 650201,China ;2.School of Engineering ,Yunnan Agriculture University, Kunmin 650201,China)
Due to relative lack of agricultural Experimental and Statistical software in China, this paper puts forward a solution which integrates R language and Java to develop a novel agricultural Experimental and Statistical software is open source, user-friendly interface, easy to use and strong expansibility. Simultaneously, this software can run on Windows or Linux operation system respectively. This solution really can meet the research and education of agricultural experiment and statistic.
agricultural experiment and statistic;R language;Eclipse;StatET
TN92
A
1674-6236(2014)14-0010-03
2014-04-09 稿件編號:201404070
云南省教育廳科學研究基金項目(09C0285)
張佳進(1976—),男,云南景東人,碩士,講師。研究方向:數(shù)據(jù)挖掘、農業(yè)信息化。