




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论 文 中 文 题 目 作作 者者 姓姓 名名 张 仁 涛 吉 林 大 学 分分 类类 号:号:TP* 单位代码:单位代码:1 0 1 8 3 研究生学号:研究生学号:200853H528 密密 级:公级:公 开开 (以上为宋体加粗小四号字) 硕士学位论文 基于基于 R R 语言的在线金融分析系统的设计开发语言的在线金融分析系统的设计开发 Design and Development of Online Financial Analysis System Based on R Language (以下为宋体加粗三号字) 作者姓名:作者姓名: 专专 业:计算机软件工程业:计算机软件工程 研究方向:研究方向: 指导教师:指导教师: 培养单位:培养单位: 基于基于 R R 语言的在线金融分析系统的设计开发语言的在线金融分析系统的设计开发 Design and Development of Online Financial Analysis System Based on R Language (以下均为宋体四号字) 作者姓名: 专业名称: 指导教师: 学位类别: 答辩日期: 未经本论文作者的书面授权,依法收存和保管本论文书面版 本、电子版本的任何单位和个人,均不得对本论文的全部或部分 内容进行任何形式的复制、修改、发行、出租、改编等有碍作者 著作权的商业性使用(但纯学术性使用不在此限) 。否则,应承 担侵权的法律责任。 吉林大学硕士学位论文原创性声明 本人郑重声明:所呈交的硕士学位论文,是本人在指导教师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文 不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识 到本声明的法律结果由本人承担。 学位论文作者签名: 日期:2013 年 月 日 中国优秀博硕士学位论文全文数据库投稿声明 研究生院: 本人同意中国优秀博硕士学位论文全文数据库出版章程的内容, 愿意将本人的学位论文委托研究生院向中国学术期刊(光盘版)电子杂志 社的中国优秀博硕士学位论文全文数据库投稿,希望中国优秀博硕 士学位论文全文数据库给予出版,并同意在中国博硕士学位论文评价 数据库和 CNKI 系列数据库中使用,同意按章程规定享受相关权益。 论文级别:硕士 博士 学科专业:计算机软件工程 论文题目:基于 R 语言的在线金融分析系统的设计开发 作者签名: 指导教师签名: 2012 年 月 日 作者联系地址(邮编): 作者联系电话: 摘 要 摘摘 要要 基于 R 语言的在线金融分析系统的设计开发 在金融分析过程中,利用现有的一般的统计和分析的工具,如常用的微软的 excel 软件,来进行数据处理,不但步骤很繁琐,而且相对计算和分析功能较弱。这样 的单独的软件分析方法,缺乏统一的数据统计、分析、管理与共享,容易导致数据的 不一致和丢失。对于大众用户来说,这些桌面统计分析软件相对来说不易于使用,而 且也不方便扩展和移植。 本系统就是在综合现有的传统软件的缺点,再结合目前比较流行的 R 语言和流 web 跨平台架构,来设计的一个在线金融分析系统。它是由浏览器/服务器(B/S)架构 下的在线金融分析系统,能够很好的适应各种平台环境,做到跨平台,高兼容性。而 且无需安装,无需传统的软件更新等等,摆脱了传统软件系统的弊端。而且还具有, 云端数据存储,在线数据抓等等,一些传统软件所不具有的功能。 本系统数据的分析处理以及统计都是基于 R 语言统计环境,R 语言中有着强大的 数据分析和统计的功能,能够完目前的人们所需求的各种金融分析。并且 R 语言还有 强大的作图能力,可以让分析结果更加形象的展示出来。 采用 Rapache 来实现了 Apache 服务器与 R 语言系统的整合,用 apache 来做 R 语 言的 web 接口,结合多种功能强大的 R 扩展包和当前比较流行的 web 前端 ExtJS 组件, 通过 web 请求的方式来调用 R 语言程序处理数据。本系统依照 MVC 的系统结构,设计了 许多灵活的、可扩展的模块化管理结构,具有数据分析、统计、管理和 R 语言扩展接口 功能,为金融数据分析,实现了一个高效的统计分析管理平台和 web 形式的跨平台的数 据抓取存储分析平台。 关键词:关键词: 金融分析,R 语言,在线系统,数据分析 AbstractAbstractAbstract I AbstractAbstract Design and Development of Online Financial Analysis System Based on R Language In the process of financial analysis, general statistics and analysis tools, such as the commonly used Microsoft excel software, data processing, not only cumbersome steps, and the relative calculation and analysis function is weak. Separate software analysis methods, the lack of a unified data statistics, analysis, management and sharing, and easily lead to inconsistencies and missing data. For public users, these desktop statistical analysis software is relatively not easy to use, and does not facilitate the expansion and transplantation. The system is integrated to the shortcomings of the existing traditional software, combined with the relatively popular R language and stream web cross-platform architecture, to design an online financial analysis system. By the browser / server (B / S) architecture online financial analysis system can be good to adapt to a variety of platform environments, so that cross-platform, high compatibility. And no need to install, without the traditional software updates, etc., to get rid of the drawbacks of traditional software systems. But also has a cloud data storage, online data grasping, etc., does not have the function of some of the traditional software. Analysis of the systems data processing and statistics are based on the R language statistical environment has a powerful data analysis and statistical functions in R language, be able to complete financial analysis of the current demand. And R language, there is a powerful mapping capabilities, allows the analysis of image display. Using Rapache to achieve the integration of the Apache server with the R language system, with apache web interface to do the R language, through a web request to call the functions of the R language, combined with a variety of the R expansion pack with web front end ExtJS components system structure in accordance with the model view controller (MVC) design a flexible and extensible indicators management structure and system modular management, data management, and a wide variety of statistical analysis functions and R language extension interface functions for financial data analysis efficient statistical analysis and management platform, a web form data capture storage analysis platform. AbstractAbstractAbstract II Keywords: Financial analysis, R language, online systems, data analysis 目 录 目 录 摘摘 要要.I ABSTRACT.II 目目 录录.I 第第 1 章章 绪绪 论论.2 1.1 研究背景.2 1.2 研究意义.4 1.3 设计思路.4 1.4 论文主要内容.5 第第 2 章章 系统主体架构系统主体架构7 2.1 整体设计.7 2.2 相关技术介绍.7 2.2.1 R语言7 2.2.2 rapache10 2.2.3 ExtJS.11 2.3 实验环境.14 第第 3 章章 系统的具体实现系统的具体实现16 3.1 金融数据抓取.16 3.2 R 语言的金融分析.18 3.2.1 金融时间序列建模.18 3.2.2 金融风险度量.21 3.2.3 技术分析.23 3.2.4 期权.27 3.2.5 投资组合.33 3.3 WEB接口实现40 第第 4 章章 系统结果和总结系统结果和总结41 4.1 数据展示.41 4.2 总结.42 参考文献参考文献 43 作者简介及在学期间所取得的科研成果作者简介及在学期间所取得的科研成果44 致致 谢谢 45 第 1 章 绪 论 1 第第 1 1 章章 绪绪 论论 1.1.1 1 研究背景研究背景 二十一世纪的世界经济发展的特点是全球化,数字信息技术和金融。合格的金融 专业人士的蓬勃发展,全球的金融市场,当时的语言和公认的标准,世界各国的金融 需求产生的高需求。培育了许多的机构投资者的资本市场,大幅提高了工作效率和管 理的开放基金,创业板市场的设立和运作,商业银行股份化,推出股指期货及其他金 融衍生工具及资产证券化操作的风险管理中的应用,并与国际接轨的迫切需要。现在 的优先级是人才的培养与实践第一“人才国际化”和“国际商务”国际标准。投资, 企业及财务管理需要一个统一的,规范的标准来衡量的金融分析师,道德和专业化程 度的知识水平,以建立信任关系的金融服务和管理的金融资产。特许金融分析师 (CFA)就是这样的一个标准。因此,代表金融专业人士的最高标准,成为金融分析 师的外资金融机构竞争的第一个对象。 “钱能通神”的金融分析师眼中的这句话是真实的。金融分析师的工作是收集和 分析财务信息,以确定趋势和经济预测。了详细的分析,他们提出一个报告,为客户 提供金融和投资的咨询意见,为客户和同事。金融分析师的工作是至关重要的,因为 他们的建议,以帮助企业作出财务决策,这通常意味着大量的资金投入。金融分析师 的工作需要大量的狩猎各种的财经杂志,报纸,书籍和互联网,及时了解最新的新闻 信息,市场动态和行业状况的变化调整。任何专业的学生可能最终成为金融分析师, 但雇主更倾向于聘请专业的毕业生,如工商,金融,会计,金融,经济和统计理论。 金融分析是目前的一个热门课题,要做好金融分析。需要从大量的金融数据中分 析和计算、推测结果。常规的软件和算法也无法完成海量数据的处理,在性能和结果 上都不是令人满意。但是随着一个计算机语言的产生,改变了数据分析难的现状,它 就是目前很火爆的 R 语言。 R 是一个广受喜爱的程序语言的名字,越来越多的公司和学术界的数据分析师开 始使用 R 语言。R 语言能够成为他们的交际用语,一定程度上是因为数据挖掘已经进 入了黄金时期,不仅可用于广告定价,还可用于更快地找到新药或是微调过的财务模 型。很多不同类型的公司都在使用 R 语言,比如谷歌,辉瑞,默克,美国银行,洲际 第 1 章 绪 论 2 酒店集团和壳牌。 但 R 语言也为它自己找到了一批追随者,因为缺乏电脑编程技能的统计师,工程 师,和科学家们发现 R 语言很容易使用。统计师们不需要深度掌握计算机系统,就能 够使用 R 语言做出复杂精细的分析。 R 语言类似于诸如 C,Java,Perl 一类的程序语言,因为它允许人们使用各种不同 的指令,来完成很多种类的计算任务。然而对统计师来说,R 尤其的有用,因为它内 置了大量模板,用来处理数据,根据信息进行计算,或是用图表表示数据集合。 有些很熟悉 R 语言的人说它是加强版的 Microsoft Excel(电子制表软件) ,用比在 行行列列中输入数据更好的方式阐明数据趋势。 R 语言非常好用,而且很快就被广泛接受了,这是因为统计师,工程师和科学家 们可以改进软件的代码,或者为某些特殊的任务改代码。R 语言的包里有高级算法, 有色有界面的图表,和数据挖掘技术,这样可以在数据库中挖掘的更深。 一个用 R 语言的网站中有将近 1600 多不同的包,包的数量也在指数级增长着。有 个叫做 BiodiversityR 的包提供一个图形界面,这样计算环境趋势会更容易。 另外一个叫做 Emu 的包分析话语模型,一个叫做 GenABEL 的包用来研究人类基 因组。 金融服务行业特别青睐 R 语言,光是衍生分析的包就有很多个。 很难计算到底有多少人使用 R 语言,那些最熟悉这个软件的人估算有大概 250,000 人经常在工作中使用它。大学里 R 的热门程度甚至可以威胁到 SAS 研究所,一个专门 制作数据分析软件的私有商业软件公司。SAS 的年收入达到 2,000,000,000,曾经是学 者和企业管理人员偏好的分析软件。等。 ) 第 1 章 绪 论 3 1.21.2 研究意义研究意义 在金融业中,对于金融数据的分析、总结、和预测将能够更好的使得人们对于目 前的金融形势作出估计,对于未来金融的发展做出预测。以及指导人们在未来的金融 投资方向上提供数据分析的理论依据。 金融分析的重要性,在金融行业中举足轻重。然而,就目前而言,金融分析的数 据量十分惊人,加之,数据变更十分迅速。无法靠人工完成,海量数据分析的任务。 因此,金融数据分析必须借助计算机的力量来完成,海量数据分析,数据统计和 走势预测的。然而,对于传统的分析软件来说,做金融分析还是具有一定的困难的。 在金融分析过程中,利用现有的一般的统计和分析的工具,如常用的微软的 excel 软件,来进行数据处理,不但步骤很繁琐,而且相对计算和分析功能较弱。这样 的单独的软件分析方法,缺乏统一的数据统计、分析、管理与共享,容易导致数据的 不一致和丢失。对于大众用户来说,这些桌面统计分析软件相对来说不易于使用,而 且也不方便扩展和移植。 金融分析是目前的一个热门课题,要做好金融分析。需要从大量的金融数据中分 析和计算、推测结果。常规的软件和算法也无法完成海量数据的处理,在性能和结果 上都不是令人满意。但是随着一个计算机语言的产生,改变了数据分析难的现状,它 就是目前很火爆的 R 语言。 本系统就是在综合现有的传统软件的缺点,再结合目前比较流行的 R 语言和流 web 跨平台架构,来设计的一个在线金融分析系统。它是由浏览器/服务器(B/S)架构 下的在线金融分析系统,能够很好的适应各种平台环境,做到跨平台,高兼容性。而 且无需安装,无需传统的软件更新等等,摆脱了传统软件系统的弊端。而且还具有, 云端数据存储,在线数据抓等等,一些传统软件所不具有的功能。 本系统数据的分析处理以及统计都是基于 R 语言统计环境,R 语言中有着强大的 数据分析和统计的功能,能够完目前的人们所需求的各种金融分析。并且 R 语言还有 强大的作图能力,可以让分析结果更加形象的展示出来。 采用 Rapache 来实现了 Apache 服务器与 R 语言系统的整合,用 apache 来做 R 语 第 1 章 绪 论 4 言的 web 接口,结合多种功能强大的 R 扩展包和当前比较流行的 web 前端 ExtJS 组件, 通过 web 请求的方式来调用 R 语言程序处理数据。本系统依照 MVC 的系统结构,设计 了许多灵活的、可扩展的模块化管理结构,具有数据分析、统计、管理和 R 语言扩展 接口功能,为金融数据分析,实现了一个高效的统计分析管理平台和 web 形式的跨平 台的数据抓取存储分析平台。 本研究不仅使得大众用户更加易于使用金融分析软件,也结合了目前金融业 R 语 言的火爆和当前计算机业内十分流行 web 应用的两个流行的强强联合。让人们感受新 技术的魅力。同时,也让传统的数据统计软件告别,传统的软件客户端形式。走向, 现在日益流行的 web,云服务模式,做到,在线更新,数据实时共享。等等一系列的革 命性的飞跃。 同时,在系统设计上,本系统的 web 分析系统,也能产生很多对与金融分析的研 究和理论提供良好的数据作为理论的依据,并且可以共享给许许多多的研究学者,供 其研究和学习。在方便用户的同时,还能够为学科的研究,学术上的论证,一点一点 的积累数据作为理论的依据。在实践和数据中总结积累知识,并提升理论来指导我们 日常的行为,和生活。实践和理论相互扶持、相互促进,共同发展,为金融业和计算 机业带来不小的贡献。 1.31.3 设计思路设计思路 在金融分析过程中,利用现有的一般的统计和分析的工具,如常用的微软的 excel 软件,来进行数据处理,不但步骤很繁琐,而且相对计算和分析功能较弱。这样 的单独的软件分析方法,缺乏统一的数据统计、分析、管理与共享,容易导致数据的 不一致和丢失。对于大众用户来说,这些桌面统计分析软件相对来说不易于使用,而 且也不方便扩展和移植。 本系统就是在综合现有的传统软件的缺点,再结合目前比较流行的 R 语言和流 web 跨平台架构,来设计的一个在线金融分析系统。它需要能够很好的适应各种平台环 境,做到跨平台,高兼容性。而且无需安装,无需传统的软件更新等等,摆脱了传统 软件系统的弊端。而且还具有,云端数据存储,在线数据抓等等,一些传统软件所不 第 1 章 绪 论 5 具有的功能。 本系统数据的分析处理需要强大的数据分析和统计的功能,能够完目前的人们所 需求的各种金融分析。还必须有强大的作图能力,可以让分析结果更加形象的展示出 来。 需要有设计了许多灵活的、可扩展的模块化管理结构,具有数据分析、统计、管 理和 R 语言扩展接口功能,为金融数据分析,实现了一个高效的统计分析管理平台和 web 形式的跨平台的数据抓取存储分析平台。 1.41.4 论文主要内容论文主要内容 本文主要记录了,基于 R 语言的在线金融分析系统的设计和开发。 论文的主要安排如下: 第一章, 讲的是绪论。主要介绍了在线金融分析系统的相关背景和研究的意义以 及系统设计的大致设计思路。 第二章, 讲的是本系统的主体架构。主要介绍了系统的整体设计、相关的技术介 绍:R 语言、rapache 服务器、ExtJS 等等,以及本轮文的实验环境。 第三章, 讲的是本系统的具体实现。主要详细的阐述了系统的实现,如:金融数 据抓取模块的实现、R 语言分析模块的实现、以及 web 接口和页面展示 数据的实现。 第四章, 讲的是本系统的效果和本次论文的总结。 第 2 章 系统主体架构 6 第第 2 2 章章 系统主体架构系统主体架构 2.12.1 整体设计整体设计 系统的结构分为浏览器、服务器结构和客户端、服务器结构,这两种结构各有各 的优点,传统的浏览器、服务器结构由网络带宽的限制,不利于大的数据量,网络传 输的统计分析,甚至有许多潜在的安全问题,以及在用户界面并没有客户端的友好的, 等等,但随着网络带宽的提升和 web 应用的发展,加上 web2.0 和 AJAX 技术的普及, 越来越多的系统倾向于使用浏览器、服务器结构结构设计。 实际上,目前而言,浏览器、服务器结构更加适应于目前的网络环境。Web 应用 是基于 HTTP 协议的,HTTP 协议是无状态的,无需维护和保持连接的。当一个 HTTP 请求完成时就能够立即释放资源。这样相比传统的客户端、服务器架构来说,能够实 现在海量的连接中保持良好的服务器性能。而不会因为连接数过多,资源占用导致服 务器不响应客户端的请求。 综上,本系统的设计采用 B/S 的架构,也就是浏览器和服务器的架构,传统的软 件往往是 CS 的架构,那样就失去了跨平台性。更新和维护上也很不方便。然而 BS 的 架构却没有传统 CS 架构的弊端,它可以跨平台运行,在线更新维护,客户端(就是浏 览器)无需更新维护。十分的便捷和良好的用户体验。 服务端主要是由两部分构成:一个 R 语言的数据分析、处理程序;一个是 rapache 的 web 服务器。 R 语言脚本,用来处理数据。 Rapache 是作为一个 web 服务器对外提供服务,接受并响应浏览器的请求。当 rapache 接到请求后会对请求做简单的分类,并把请求转换为对应的 R 语言程序脚本, 并传递给 R 语言程序执行,R 语言程序进行一系列的分析和处理之后,再将结果数据 返回给 rapache 服务器,最终由 rapache 服务器将处理后的数据响应到用户浏览器,并 以图表的形式展示最终结果。出这样就完成了一次数据分析的过程。 第 2 章 系统主体架构 7 当然,要做金融数据分析,自然是需要先获取金融数据。本系统将采用互联网数 据抓取的形式来获取实时的动态的数据,并将原始数据存入数据库中。当需要数据分 析时,实时的从数据库中取出数据,并调用 R 语言程序处理之后,将结果返回给前端 展示。 本系统主要的逻辑模块有: (1) 数据抓取模块。定时的向互联网中抓取金融数据。 (2) 数据存储模块。Mysql 数据库用来存储抓取到的数据。 (3) 数据分析模块。也就是 R 语言处理数据的脚本。 (4) Web 接口模块。将 http 请求与 R 语言程序相映射。 (5) Web 数据展示模块。Web 前端 extjs 等技术展示数据和与服务器通信。 本系统的数据库设计上,需要两个库,一个是用来储存抓取的原始金融数据的数 据库,一个是用来储存经过 R 语言分析处理之后的中间数据的数据库。 本系统的任务调度上,rapache 作为 web 服务器的服务进程,需要一直运行。然而 用来抓取数据的脚本任务却不需要一直处于运行状态。抓取数据的任务只需要在特定 的时间间隔时启动即可,例如,每天的零点启动一次抓取数据的任务,用来更新或者 添加新的金融数据到数据库中即可。 R 语言在处理完数据后,将数据返回前端的同时,还需要将结果数据缓存在中间 数据库中,便于相应其他客户端的相同请求以节约服务器开销,保证良好的性能。还 有一个很重要的原因是,需要将中间数据保存起来,以便做进一步的分析和处理,还 有就是对数据分析结果的评估,是不是达到程序预期的结果。通过结果和预期的比对 来排查系统或者程序的 bug,从而进一步完善系统,使得系统能够正确的运行。 Web 前端上,采用 ExtJS 框架。服务器和页面的通信,因此,整个 web 界面将无 需刷新当前的网页,整个浏览的过程就和真实的客户端一样,所有的 action 都是在一 个页面响应,展现的。使用过程中、浏览器无需跳转页面。更加符合传统数据分析软 件的使用习惯,而且也为服务器的通信节约了不少的流量。减少了一部分服务器开销, 提高了服务器性能。通信的 api 接口全部是 JSON 数据的接口形式的。前端用 ajax 来发 数据,后端服务器相应后,处理数据并将结果再转换成 JSON 的格式,返回到客户端 中。 第 2 章 系统主体架构 8 2.22.2 相关技术介绍相关技术介绍 本系统主要是用了 R 语言的数据分析统计,以及 rapache 的 web 与 R 语言的整合。 主要技术就是这两个的运用。当然,还有 web 前端用来展现数据和用户交互的 ExtJS 框架。该框架可以灵活简单的构建一个 web 用户界面,来与 web 服务器交互。 本小结主要介绍:R 语言、rapache、ExtJS。 .1 R R 语言语言 R 是一个免费软件,它是一个编程语言和软件环境,可以用于统计计算和图形。 R 语言被统计学家和数据挖掘人员广泛地用于开发统计软件和数据分析。在最近的投 票和调查的数据中都显示 R 语言的声望已显着增加。 R 是 S 编程语言的结合词法范围的语义灵感来实现的。 S 编程语言是由约翰钱 伯斯(John Chambers) ,在贝尔实验室发明的。 R 是由 Rose Ihaka 和 Robert Gentleman,在新西兰奥克兰大学发明的,现在,他们是 R 开发核心团队,和商会的成 员。 R 是以前两个 R 作者(Robert Gentleman 和 Rose Ihaka)的名字的开头的字母命 名。 R 是 GNU 项目。R 软件环境的源代码写入主要是在 C,Fortran 语言,和 R。R 是 免费提供的 GNU 通用公共许可证下,预编译的二进制提供适用于各种操作系统的版本。 R 使用的命令行界面,但是,几个图形用户界面,可用于使用 R。 R 语言提供了许多数据统计和作图技术,如:时间序列分析,聚类,分类,等等。 这些在科学计算、数据分析上、机器学习等领域均有应用。 R 是通过功能和扩展功能,可轻松扩展的 R 指出,为积极的贡献的包。有一些重 要的差别,但太多的 S 写的代码运行不变。 R 的标准功能都写在 R 本身,这使得它很 容易,用户可以按照算法的选择。对于计算密集的任务,C,C+和 Fortran 代码可以 链接,并在运行时调用。高级用户可以编写 C 或 Java 代码直接操纵 R 对象。 R 是高度可扩展的用户提交的软件包,通过使用特定的功能或特定的研究领域。 由于其遗产,R 具有较强的面向对象的编程工具比大多数统计计算语言。扩展 R 词法 作用域规则也有所缓解。 第 2 章 系统主体架构 9 另一种力量的 R 是静态的图形,它可以产生出版品质的图形,包括数学符号。动 态和交互式图形都可以通过附加的软件包。 R 有其自己的乳液状的文档格式,它是用来提供全面的文档,无论是在线路中的 许多格式和硬拷贝。 R 内建多种统计学及数字分析功能。因为 S 的血缘,R 比其他统计学或数学专用 的编程语言有更强的物件导向(面向对象程序设计)功能。 R 的另一强项是绘图功能,制图具有印刷的素质,也可加入数学符号。 虽然 R 主要是用于统计分析或统计软件的发展,但是,它也被用来作为一个矩阵 的计算。其分析速度的 GNU 倍频程相媲美,甚至商业软件 MATLAB。 R 功能,可以提高由一套由用户写入。增加的功能的特别的统计技术,绘图函数, 以及编程接口和数据输入/输出功能。这些包 R 语言编写的 LaTeX,Java 和最常用的 C 语言和 Fortran 语言。下载的可执行文件的版本将打包在一起,一些核心功能,根据 CRAN 纪录有成千上万不同的包。这几个比较常用的,例如,计量经济学,财务分析, 人文,科研和人工智能。 R 是统计领域广泛应用于生于 1980 年左右,S 语言的一个分支。 R 是 S 语言的实 现。 S 语言是解释型语言开发的 ATT 贝尔实验室,一个用于数据探索,统计分析和 绘图。实现原来的 S 语言以及 S 语言的加强版 S-PLUS 语言。后来,奥克兰大学的罗 伯特君子和而罗斯 Ihaka 和其他志愿者建立一个 R 系统。因此,R 语言和 S-PLUS 语 言有一定的相似的地方,他们在一定程度上是相互兼容的。 R 语言具有数据处理、数据计算和绘图功能。其功能及其强大数据存储和处理系 统,特别是功能强大的计算工具(向量和矩阵操作);完整和连贯的统计分析工具;优秀 的统计制图功能,方便和功能强大的编程语言:可操纵数据的输入和输出可以实现分 支,循环中,用户可以自定义功能。 R 不仅仅是一个数据统计软件,R 还是一个计算机中的数学环境。因为 R 不仅提 供了许多的数据统计和分析程序,它还提供了各种数学计算,统计分析功能,使用户 可以灵活的进行数据分析,数据处理、统计。R 语言内置的许都数学方法、机器学习 算法、数据挖掘算法、分类、聚类,等等一系列,高级的数学和计算机的计算能力。 使得 R 语言在现代基于海量数据分析、机器学习,等热门领域中的应用越来越广泛。 该语言的语法表面上类似 C,但在语义上是函数设计语言的(functional programming language)的变种并且和 Lisp 以及 APL 有很强的兼容性。特别的是,它 第 2 章 系统主体架构 10 允许在“语言上计算” (computing on the language) 。这使得它可以把表达式作为函数 的输入参数,而这种做法对统计模拟和绘图非常有用。 R 程序和 R 的扩展包都可以在 CRAN 免费下载,和寻求技术帮助和支持。 CRAN 为 Comprehensive R Archive Network(R 综合典藏网)的简称。它除了收藏 了 R 的执行档下载版、源代码和说明文件,也收录了各种用户撰写的软件包。现时, 全球有超过一百个 CRAN 镜像站。 R 是一套由数据操作、计算和图形展示功能整合而成的套件。包括:有效的数据 存储和处理功能,一套完整的数组(特别是矩阵)计算操作符,拥有完整体系的数据 分析工具,为数据分析和显示提供的强大图形功能,一套(源自 S 语言)完善、简单、 有效的编程语言(包括条件、循环、自定义函数、输入输出功能) 。 在这里使用“环境” (environment)是为了说明 R 的定位是一个完善、统一的系统, 而非其他数据分析软件那样作为一个专门、不灵活的附属工具。 .2 rapacherapache Apache web 服务器是一个开放源代码的 web 服务器。它是由 Apache 软件基金会, 维护和开发的。apache 有着良好的跨平台性、稳定、高效以及安全而被人们广泛使用, 是目前互联网上最流行的 Web 服务器之一。Apache 支持许都模块和扩展,利用模块的 加载方式来实现将 PHP、Perl、Python、R 语言等解释器整合到 web 服务器中。使得这 些语言都可以作为 web 服务器程序的处理语言,这就大大提高的 apache 服务器的使用 范围,Apache 加上丰富的模块就成为了各种语言的 web 服务器了。因此,大多数的编 程语言都可以和 apache 结合起来,成为一个 web 应用。 而 rapche 就是一个整合了 R 语言模块的 apache 服务器软件,它将 R 编译器和 apache 的 web 服务器整合在一起,使得 apache 可以调用 R 语言脚本来处理 web 请求。 rapache 的是支持使用 R 统计语言和环境的 Apache Web 服务器的 Web 应用程序开 发项目。目前的软件分布 UNIX/ Linux 和 Mac OS X 操作系统上运行。 Apache 服务器 现在支持多线程处理模块,但在 Apache prefork 的多处理模块仍建议。 rapache 的软件分发提供的 Apache 模块,名为 mod_R,嵌入在 Web 服务器上的 R 解释。它还捆绑与 libapreq,一个 Apache 模块,用于处理客户端请求数据。同时,他 第 2 章 系统主体架构 11 们提供的胶水将 R 到一个服务器端脚本环境。 另外一个重要的项目,这不是捆绑与 rapache 的,但在服务器端脚本中起着重要的 作用,是 R 包 BREW(CRAN) 。它实现了一个模板生成报告的框架,它是完美的,在 飞行中生成 HTML。它的语法是类似 PHP,Ruby 的雇员再培训局的模块,Java 服务器 页面,和 Python 的 PSP 模块。 BREW 可以独立使用为好,所以它不是发行版的一部 分。 一个使用 rapache 制作的 web 应用的界面如图 2.1 所示。Rapache 是将 R 语言处理 数据与 web 界面相结合的最好方式。 图 2.1 rapache .3 ExtJSExtJS Ext JS 是一个纯 JavaScript 应用程序框架的构建交互式 Web 应用程序使用的技术, 如 Ajax,DHTML 和 DOM 脚本。 建立一个附加的库 Jack Slocum 的扩展 YUI,Ext JS 包含 jQuery 和 Prototype 的互 操作性。从 1.1 版开始,Ext JS 的保留不依赖于外部库,而不是使它们的使用可选的。 功能丰富,无人能出其右。 第 2 章 系统主体架构 12 无论是美丽的界面,强大的内线形式或功能的控制高居榜首。 多选线,广播线,突出显示选定的行,然后拖动改变列的宽度,列排序,轻量级 实现这些基本功能 ExtJS 的。 自动生成行号,支持复选框选择,动态选择要显示的列,支持本地和远程寻呼, 可以使细胞在按照自己的想法,这也被认为是你能想到的功能。 再加上可编辑网格,添加一个新的行删除一行或多行,提示多行数据,拖动和下 降,以改变网格的大小,拖动一个或多个行的网格,甚至可以拖放树和网格,这些功 能是非常了不起的。更神奇的是,即使是这些功能的分机表控制。 事实上,从 ext3 开始支持多种方式统计和控制支持 Excel 导出。 ExtJS 可以用来开发“富客户端”的基于 AJAX 的 web 应用程序,extJS 是 JavaScript 编写的,用来搭建 web 应用的前端的一个框架,extJS 使用 ajax 与服务端通 信,extJS 是一个整合了页面布局、排版,数据请求、通信于一体的 javascript 框架。 ExtJS 可以结合.NET、JAVA、PHP、python、ruby 等等和其他的应用程序开发语言。 ExtJs 的最 YUI 技术开发 JackSlocum 发展组织,通过机制,如参考 JavaSwing 可视化 组件,无论是从应用程序的 CSS 风格的 UI 界面异常处理的数据分析,可以看作是一 个非多的 JavaScript 客户端技术的精品。 扩展的 UI 组件模型和开发理念脱胎成型摇摆雅虎的组件库 YUI 和 Java 平台,以 及处理大量的跨浏览器开发人员屏蔽。相对而言,EXT 不是开发人员直接对 DOM W3C 对象模型开发的 UI 组件容易。 ExtJS 最开始只是一个 yahoo 的 web 前端对话框组件,但是,随着 ExtJS 的不断完 善和发展,ExtJS 愈来愈美观,功能越来越齐全,extJS 也越来越受人们喜爱。逐渐 extJS 已经成为了世界上最流行的几个 web 前端框架之一。除了 YUI,Ext JS 的支持以 外还 jQuery 的,原型许多底层数据库,使每个人都可以自由地选择。该框架是完全基 于纯 HTML / CSS + JS 技术,提供了丰富的跨浏览器的 UI 组件,灵活的 JSON / XML 数据源开发服务器层负载真正减轻 MVC 的应用程序,从而实现了客户端! ExtJS 的支持多平台的主流浏览器 Internet Explorer 6 以上版本浏览器 Firefox 1.5 +(PC,MAC)Safari2 +,Opera9 +。制造商,包括 IBM,Adobe,思科和更多。 jQuery 的,原型,和 YUI 的 JS 库属于非常核心的。 YUI,JQuery 他们都正在建 立了一系列的 UI 组件,但 YUI 和 JQuery 很难成为一个真正的前端框架,因为,使用 YUI 和 JQuery 来制作 web 前端的话,开发人员仍然需要做大量的工作,需要自己整合 第 2 章 系统主体架构 13 需要的组件到页面中,当然,这就影响了开发的效率。 然而 ExtJS 恰好弥补了这一不 足。像其他的一些主流开源框架一样,ExtJS 提供了一个集成的开发平台。外部的各种 元件,在设计时的要求组合和其他外部组件无缝地协同工作合作。平台的稳定性,离 不开各个组件之间的相互协调合作,许都的开源框架也是如此。我们一直强调从一开 始就建立一个组件,该组件的外观,性能,互操作性和可扩展性,我们认为的组件已 达到要求,这些点。 ExtJS 中的各个组件都可以单独使用。YUI 的角色原型集成的低级别的库,他们是 用来处理 web 前端的各种核心服务,比如 DOM 和事件处理,Ajax 的连接和动画效果 等等。使用集成的方式,因为他们确实有一些特定的设备的 ExtJS 并没有原生支持. 2.32.3 实验环境实验环境 本系统的设计和实验环境如下: 服务器为 Linux 操作系统平台(ubuntu 11.10) 、数据库采用 Mysql 数据库、R 语言 采用最新的 2.15.3 版本、rapache 采用最新的 1.2.3 版本、web 前端采用 ExtJS 库。Web 程序采用 php 语言编写,数据处理采用 R 语言编写。 环境搭建如下: (1) 安装和配置 Mysql。 在 ubuntu 上使用如下命令安装 MySQL: sudo apt-get install mysql-server 配置 MySQL 在 Ubuntu 下 MySQL 缺省是只允许本地访问的,如果需要其他机器也能够访问的 话,那么需要改变/etc/mysql/f 配置文件。 默认的 MySQL 安装之后根用户是没有密码的,所以首先用根用户进入: $mysql -u root 一般来说,对 mysql 中的数据库进行操作,根本没必要进入根用户模式,只有在 设置时才有这种可能。 进入 mysql 之后,最要紧的就是要设置 Mysql 中的 root 用户密码了,否则,Mysql 服务无安全可言了。设置密码命令如下: 第 2 章 系统主体架构 14 mysql GRANT ALL PRIVILEGES ON *.* TO rootlocalhost IDENTIFIED BY “123456“; 本示例用的是 123456 做为 root 用户的密码,但是该密码是不安全的,最好使用大小写 字母与数字混合的密码,且不少于 8 位。 这样的话,就设置好了 MySQL 中的 root 用户密码了,然后使用 root 用户建立本 系统所需要的数据库。命令如下: mysqlCREATE DATABASE datas; mysqlGRANT ALL PRIVILEGES ON datas.* TO datas_rootlocalhost IDENTIFIED BY “654321“; 这样就建立了一个 datas_root 的用户,它对数据库 datas 有着全部权限。这样就可 以使用 datas_root 来对 datas 数据库进行管理,而无需要再用 root 用户了,而该用户的 权限也只被限定在 datas 数据库中。 让数据库能够被远程访问,首先需要在 mysql 里设置远程访问权限,命令如下: mysqlGRANT ALL PRIVILEGES ON datas.* TO datas_root“%“ IDENTIFIED BY “654321“; 这样就可以允许 datas_root 用户可以从任意机器上登入 MySQL。 但是,这样设置后,从远程机器上还是无法连接。因为,mysql 在启动时并没有监 听其他的 ip 地址,所以使用如下来打开 mysql 的监听 IP: $sudo gedit /etc/mysql/f 老的版本中 skip-networking = # skip-networking 新的版本中 bind-address= = bind-address= 你机器的 IP 这样就可以允许其他机器访问 MySQL 了。 (2)在 Ubuntu Linux 里安装 R 软件 1,在终端输入 sudo gedit /etc/apt/sources.list file 打开软件源文件 将 deb /mirrors/CRAN/bin/linux/ubuntu karmic/ 拷贝到该文件中。 2,输入如下命令: sudo apt-get update sudo apt-get install r-base 第 2 章 系统主体架构 15 即可安装 R 基础包 3 在终端键入 R,进入 R,键入 install.packages(“vegan”),则可安装 vegan 包 (2) 安装 rapache 1,安装 rapache 的是典型的 GNU / Linux 源代码安装程序,一般的安装步骤都是:运行 “confingure” ,然后“make” ,和“make install” 。 rapache 的安装和使用要求如下: R 建造和安装一个共享库。 安装的 Apache 2.2.x 或更高版本支持模块加载。 libapreq2 2.05 或更高版本。这与 rapache 的捆绑,将安装默认情况下,如果不能自动 找到配置或重写的配置标志 - apreq2 的配置。 2.1 运行 configure 配置确实是最好的探测系统,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第二章农业推广的发展简史
- 住宅小区会所建筑施工BIM技术应用
- 吸痰技术与应用
- 销售药品总结
- 眩光现象及其防控技术
- 新四军江抗东进纪念馆讲解
- 新品导入技术报告
- 设备设计方案讲解
- 西京医院医生进修总结
- 小朋友课程汇报
- 企业产学研用管理办法
- 2025年版义务教育体育与健康课程标准题库及答案(教师培训考试专用七套)
- 2025广东省中考数学试卷
- 工程事业部运营管理办法
- 2025汽车智能驾驶技术及产业发展白皮书
- 苯职业病防护课件
- 2025年铸牢中华民族共同体意识基本知识测试题及答案
- 2025年湖北省中考道德与法治真题(解析版)
- 2025-2030年中国胃食管反流病行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国苯丙酮尿症(PKU)行业市场发展趋势与前景展望战略研究报告
- 催收新人培训管理制度
评论
0/150
提交评论