APP下载

基于R语言的农业试验统计软件的设计与实现

2014-09-23张佳进陈立畅陈克平唐君君

电子设计工程 2014年14期
关键词:用户界面插件对话框

张佳进, 陈立畅,陈克平,唐君君

(1.云南农业大学 基础与信息工程学院,云南 昆明 650201;2.云南农业大学 工程技术学院,云南 昆明 650201)

基于R语言的农业试验统计软件的设计与实现

张佳进1, 陈立畅2,陈克平1,唐君君1

(1.云南农业大学 基础与信息工程学院,云南 昆明 650201;2.云南农业大学 工程技术学院,云南 昆明 650201)

文中针对国内农业试验统计分析软件相对缺乏的现状,提出基于R统计语言和JAVA构建农业试验统计软件开发平台的设计方案。实现了R统计语言和JAVA的集成与融合,可跨平台运行在windows和Linux操作系统的农业试验统计软件。该软件具有开源免费,用户界面友好,简单易用,系统扩展能力强等特点,非常适合应用于农业科研和教学研究中。

农业试验统计;R语言;Eclipse;StatET

在进行农业科学试验的过程中,试验所获得的数据往往具有庞大、复杂和凌乱等特点,只有通过正确的处理和统计分析,才能发现其内在规律。统计分析软件已经成为试验数据处理与分析的必备工具,然而目前广泛使用的商业统计软件例如SAS、SPSS等,对农业试验设计及统计分析方面的内容,或涉及较少,或侧重点不同,这往往不太适合农业田间试验设计与统计分析。另外国外的很多商业统计软件存在用户界面不够友好,需要专业的统计知识,学习难度大,使用不方便等问题。由于国内试验统计软件的相对缺乏,使得农业试验统计工作的应用和发展在一定程度上受到了影响。

R软件是一款集成了数据操作、统计分析和可视化功能的优秀的开源软件,自1993年诞生以来,深受统计学家和计量爱好者的喜爱,被国外大量学术与科研机构采用,其应用范围涵盖了计量经济学、实证金融学、空间统计学、统计遗传学和生物信息学等诸多领域,现已成为国际主流统计软件之一。

相对于商业统计软件而言,R的主要特色在于: 1)R语言具有自由、免费开放源代码的特点,用户既可以查看分析统计函数的代码,学习如何实现相关统计功能,也可以在原函数的基础上进行修改,实现个性化的统计算法; 2) R语言是面向对象的统计编程语言,具有强大的统计计算与图形展示功能; 3) R软件体积小,更新速度快; 4) R的扩展性强,来自世界各地开源社区的研究者为其提供了丰富的统计软件包[1]。

目前国内R语言用户还不是很多,大部分人主要采用SPSS或SAS等商业统计软件,只有少数国内高校使用R语言进行统计教学。不过,近年来国内已有不少专家学者开始关注、推广R语言而努力[2-4]。

另外,对于试验设计与现代应用生物统计方法领域,R的CRAN网站上提供了大量相关的软件工具包,如著名的AlgDesign、Crossdes、Conf.design、DoE.base、FrF2 等, 这 为农业试验统计的教学与科研提供了便利。

当然R也存在着诸多需要完善的地方,例如在Windows时代,用户很难适应R的命令交互模式,用户界面简陋,缺乏人性化设计,初学者需要花费较多的时间才能熟练应用R统计语言。其次,R语言的编程调试环境较差,集成度较低,开发、调试繁琐,用R语言直接进行统计分析,对初学者来说难度较大。

文中提出了集成Java开发环境、R统计软件包、rJava接口软件包[5-6]、Eclipse编辑器、插件StatET[7]的新型农业试验统计软件设计方案,该软件采用视窗交互界面,用户界面友好,简单易用,能快速构建出基于R语言的农业试验统计分析软件(当然也支持其他各类统计分析),系统扩展性好,可无缝运行在Windows和Linux操作系统,能有效地实现软件复用及资源共享。

1 农业试验统计软件的组成

1.1 软件系统结构

农业试验统计软件主要由Java开发运行环境、R统计软件包、rJava接口软件包、Eclipse编辑器、插件StatET组成,其系统逻辑结构如图1所示。图2为农业试验统计软件集成开发环境操作界面。

图1 农业试验统计软件系统结构Fig.1 Schematic diagram of agricultural experimental and statistical software

图2 农业试验统计软件集成开发环境操作界面Fig.2 Interface chart of agricultural experimental and statistical software

1.2 农业试验统计软件主要模块介绍

1.2.1 Eclipse

Eclipse是著名的跨平台的免费开源集成开发环境(IDE)。Eclipse本身只是一个框架平台,但众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性,因此许多软件开发商以Eclipse为框架开发自己的IDE。另外Eclipse是一个很好的文本编辑器,支持自动缩进,语法高亮显示等功能;通过Eclipse,可以非常方便地维护脚本语言例如R语言的脚本文件,通过使用相应插件,可以量身定制个性化的编辑环境。

1.2.2 StatET

StatET是Eclipse的插件,具有如下特点:免费开源;支持在Eclipse平台上(通过将代码发送到R)运行R程序;支持语法高亮显示;支持使用R代码模板;支持创建R的文档文件(*.Rd);可以从Eclipse运行R命令。

1.2.3 rJava

rJava软件包主要作为R语言与Java的接口,实现R语言与Java的互动。既可以在R中调用Java代码,也可以在Java中运行R语言程序。

2 农业试验统计软件的集成构建方法

本文以Windows操作系统为例,介绍试验统计软件集成开发环境的安装及调试运行方法。

图3 农业试验统计软件集成开发环境的构建步骤Fig.3 Design steps of IDE for agricultural experimental and statistical software

第1步: 从网络下载安装R软件后,在R控制台中执行命令 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。

3 农业试验统计软件的使用方法

3.1 激活StatET插件

启动Eclipse后,依次选择菜单栏中的“Windows”,“Open perspective”,“Other”,在弹出的对话框中选中“StatET”并单击“确定”,就打开激活了StatET 。

3.2 Eclipse的R语言工程创建

3.2.1 新建一个工程

在Eclipse软件中依次选择菜单栏中的“File”,“New”,“RProject”,在相应对话框填好工程名和工作路径后,单击“Finish”按钮。新建的工程可以在“Project Explorer”视图中看到。例如在图4中,建立了包含两个分别名为“Monte Carlo优化设计”、“全因子试验设计”R语言脚本的工程。

3.2.2 向工程添加文件

右键单击“Project Explorer”中的工程名,依次选择“New”,“R-Script file”,打开新建R的脚本文件对话框输入文件名后即可生成R语言脚本文件。

4 StatET插件的配置环境

图4 新建R工程示例Fig.4 Demo of new R project

前面编辑的R程序现在还不能运行。还需要对StatET做相应配置才行。在Eclipse中选择菜单栏中的“Windows”,“Preferences”,打开配置窗口,展开StatET,定位到“R Environments”,点击右侧的按钮“Add”,将计算机上安装的R相关路径添加进去,最后关闭该对话框,如图5所示。

图5 StatET插件的交互环境配置Fig.5 Configuration of interaction environment toward StatET component

在Eclipse菜单栏中选择“Run”->“Run Configurations”,在Main标签中按图6进行配置。最后在工具栏中打开配置好的R控制台,运行“Run Configurations”,打开R控制台。

图6 StatET插件的运行环境设置Fig.6 Configuration of run time environment toward StatET component

接下来就可以将前面在Eclipse中建立的R语言脚本Monte Carlo优化设计.R提交给R运行。将焦点设置到工程管理器中的“Monte Carlo优化设计.R”文件上,这时工具栏上就会出现R的运行命令按钮,可以选择所需要的方式来运行R语言代码。图7为Monte Carlo优化设计在R控制台中输出的执行结果。

图7 Eclipse中R语言脚本运行示例Fig.7 Demo of running result from R script in Eclipse

通过以上步骤,就可以在Eclipse集成运行R代码,系统用户界面友好,简单易用,方便了R语言的学习与开发。

5 结束语

文中针对农业试验统计分析软件相对缺乏的现状,提出了集成Java运行环境、R统计软件包、rJava接口软件包、Eclipse编辑器、插件StatET的新型农业试验统计软件设计方案,该软件平台采用视窗交互界面,用户界面友好,简单易用,能快速构建出基于R语言的个性化农业试验统计分析软件,系统扩展性好,可无缝运行在Windows和Linux操作系统,能有效地实现软件复用及资源共享,非常适合应用于农业科研与教学研究中。文中对农业试验统计软件的多元化选择与个性化定制,进行了有益的尝试。

[1]Lumley T. Package 'survey'.[EB/OL]. [2014-04-06].http://faculty.washington.edu/tlumley/survey/.

[2]王斌会.多元统计分析及R语言建模[M].广州:暨南大学出版社,2010.

[3]薛毅,陈立萍.统计建模与R软件[M].北京:清华大学出版社,2007.

[4]汤银才.R语言与统计分析[M].北京:高等教育出版社,2008.

[5]Urbanek S. rJava: Low-Level R to Java Interface. [EB/OL].[2014-04-01]. http://www.RForge.net/rJava/.

[6] 李祥林,妙旭华,贾桂霞. 基于UML的重金属污染预警系统的分析与设计[J]. 工业仪表与自动化装置,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—),男,云南景东人,硕士,讲师。研究方向:数据挖掘、农业信息化。

猜你喜欢

用户界面插件对话框
基于CiteSpace的国外用户界面体验图谱量化分析
正常恢复虚拟机
自编插件完善App Inventor与乐高机器人通信
物联网用户界面如何工作
Bootlace Worms’Secret etc.
What Is Beauty?
UI用户界面色彩设计研究
基于jQUerY的自定义插件开发
浅谈VB的通用对话框《CommonDialog》控件的使用
MapWindowGIS插件机制及应用