R语言是用于统计分析、画图的语言和操作环境。R是属于GNU系统的一个自由、免费、源码开放的软件。它是一个用于统计计算和统计制图的优秀工具。

R是统计领域广泛使用的诞生于1980年左右的S语言的一个分支。

能够觉得R是S语言的一种实现。

而S语言是由AT&T贝尔实验室开发的一种用来进行数据探索、统计分析和作图的解释型语言。最初S语言的实现版本号主要是S-PLUS。S-PLUS是一个商业软件,它基于S语言,并由MathSoft公司的统计科学部进一步完好。后来Auckland大学的Robert Gentleman和Ross Ihaka及其它志愿人员开发了一个R系统。由“R开发核心团队”负责开发。
R的使用与S-PLUS有非常多类似之处,这两种语言有一定的兼容性。S-PLUS的使用手冊。仅仅要稍加改动就可作为R的使用手冊。所以有人说:R,是S-PLUS的一个“克隆”。

R是基于S语言的一个GNU项目。通经常使用S语言编写的代码都能够不作改动的在R环境下执行。

R的语法是来自Scheme。R语言是开源的,对全部人是全然免费,自由使用。R语言源码托管在github上;能够执行在多操作系统中。如Windows、Linux和UNIX等。

R语言资源:

  • 主页:http://www.r-project.org
  • CRAN: http://cran.r-project.org
  • 国内镜像:
  • http://mirror.bjtu.edu.cn/cran/
  • http://mirrors.ustc.edu.cn/CRAN/
  • http://mirror.lzu.edu.cn/CRAN/
  • http://mirrors.xmu.edu.cn/CRAN/

R优势及特点

R是一套完整的数据处理、计算和制图软件系统,提供了广泛的统计分析和画图技术环境:包含线性和非线性模型、统计检验、时间序列、分类、聚类等方法。,包含若干统计程序和强大的各种数学计算、统计计算函数库,用户能够简单地指定数据库和若干參数进行进行一个统计分析。也能够灵活机动的进行数据分析,创造出符合须要的新的统计计算方法。

从 R 语言的发展历史上看。R 主要是统计学家为解决数据分析领域问题而开发的语言,因此 R 具有一些独特的优势:

  • 有效数据存储和处理系统;
  • 拥有一整套数组和矩阵的操作运算符(其向量、矩阵运算方面功能尤其强大),统计学家和差点儿覆盖整个统计领域的前沿算法(3700+ 扩展包)。
  • 完整连贯的统计分析工具。
  • 高质量、广泛的统计分析、数据挖掘平台
  • 反复性的分析工作(Sweave = R + LATEX),借助 R 语言的强大的分析能力 + LaTeX 完美的排版能力,能够自己主动生成分析报告。
  • 优秀的统计制图、画图功能,制图具有印刷的素养。也可增加数学符号;
  • 一种相当完好、简洁和高效的程序设计语言:可操纵数据的输入和输出,可实现分支、循环,用户可自己定义功能;
  • R语言是彻底面向对象的统计编程语言;
  • R语言和其他编程语言、数据库之间有非常好的接口;
  • 开放的源码(free, in both senses)。能够部署在不论什么操作系统,比方 Windows, Linux, Mac OS X, BSD, Unix强大的社区支持
  • 方便的扩展性
  • 可通过对应接口连接数据库,如 Oracle、DB2、MySQL
  • 同 Python、Java、C、C++ 等语言进行互调
  • 提供 API 接口均能够调用,比方 Google、Twitter、Weibo
  • 其他统计软件大部分均可调用 R,比方 SAS、SPSS、Statistica等
  • 甚至一些比較直接的商业应用,比方 Oracle R Enterprise, IBM Netezza, R add-on for Teradata, SAP HANA, Sybase RAP

R的功能可以通过由用户撰写的套件增强。添加的功能有特殊的统计技术、画图功能,以及编程界面和数据输出/输入功能。这些软件包是由R语言、LaTeX、Java及最经常使用C语言和Fortran撰写。当中有几款较为经常使用,比如用于经济计量、財经分析、人文科学研究以及人工智能。

与Matlab相比。R更具备开放性

  • R是自由软件。Matlab是商业软件;
  • R能够方便的通过“包”进行扩展。R的核心仅仅有25个包。可是有几千个外部包能够调用,当然你也能够开发自己的;
  • R语言比Matlab的要强大。
  • R和其它编程语言/数据库之间有非常好的接口;其它语言也能够非常方便的调用R的API和结果对象。
  • R经常使用于金融和统计领域。大多数人使用R就是由于它的统计功能,R的内部实现了非常多经典的or时髦的统计技术。

效果演示

通过一个简单的样例,让R看起来更直观。

在R的控制台输入例如以下命令:

> install.packages(‘quantmod’) # 安装quantmod包

> require(quantmod) #引用quantmod包

> getSymbols(“GOOG”,src=”yahoo”,from=”2013-01-01″, to=’2013-04-24′) #从雅虎財经获取google的股票数据

> chartSeries(GOOG,up.col=’red’,dn.col=’green’) #显示K线图 > addMACD() #添加MACD图

就行看到下图的效果了:

大数据R语言简析的更多相关文章

  1. R语言中文社区历史文章整理(类型篇)

    R语言中文社区历史文章整理(类型篇)   R包: R语言交互式绘制杭州市地图:leafletCN包简介 clickpaste包介绍 igraph包快速上手 jiebaR,从入门到喜欢 Catterpl ...

  2. R语言基础入门

    请先安装好R和RStudio 如果不干别的,控制台就是一个内置计算器 2 * 3 #=> 6 sqrt(36) #=> 6, square root log10(100) #=> 2 ...

  3. Binder机制简析(三)

    注册Service Service组件运行在Server进程中,首先要将Service注册到Service Manager中,再启动一个Binder线程池来等待和处理Client的通信请求. 注册过程 ...

  4. 王家林 大数据Spark超经典视频链接全集[转]

    压缩过的大数据Spark蘑菇云行动前置课程视频百度云分享链接 链接:http://pan.baidu.com/s/1cFqjQu SCALA专辑 Scala深入浅出经典视频 链接:http://pan ...

  5. R语言重要数据集分析研究——需要整理分析阐明理念

    1.R语言重要数据集分析研究需要整理分析阐明理念? 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候如何下手分析,数据分析的第一步,探索性数据分析. 统计量,即统计学里面关注的数据集的几个指标 ...

  6. R语言扩展包dplyr——数据清洗和整理

    R语言扩展包dplyr——数据清洗和整理 标签: 数据R语言数据清洗数据整理 2015-01-22 18:04 7357人阅读 评论(0) 收藏 举报  分类: R Programming(11)  ...

  7. 【全集】大数据Java基础

    课程介绍 本课程是由猎豹移动大数据架构师,根据Java在公司大数据开发中的实际应用,精心设计和打磨的大数据必备Java课程.通过本课程的学习大数据新手能够少走弯路,以较短的时间系统掌握大数据开发必备语 ...

  8. 大数据平台R语言web UI应用架构 设计与开发

    1. 系统拓扑图 在日常业务分析中,R是非常常用的分析工具,而当数据量较大时,用R语言需要需用更多的时间来完成训练模型,spark作为大规模数据处理框架,采用内存计算,可以短时间内完成大量的数据的处理 ...

  9. R语言和大数据

    #安装R语言R3.3版本会出现各种so不存在的问题,退回去到R3.1版本时候就顺利安装.在安装R环境之前,先安装好中文(如果没有的话图表中显示汉字成框框了)和tcl/tk包(少了这个没法安装sqldf ...

随机推荐

  1. 多线程之Java中的等待唤醒机制

    多线程的问题中的经典问题是生产者和消费者的问题,就是如何让线程有序的进行执行,获取CPU执行时间片的过程是随机的,如何能够让线程有序的进行,Java中提供了等待唤醒机制很好的解决了这个问题! 生产者消 ...

  2. 浅谈Session的使用(原创)

    目录 浅谈Session的使用(原创) 1.引言 2.Session域的生命周期 2.1 Session的创建 2.2 Session的销毁 3.那么,session被销毁后,其中存放的属性不就都访问 ...

  3. luogu4388 付公主的矩形

    题面: 为了排解心中的怒气,她造了大量的稻草人来发泄.每天付公主都会把一些稻草人摆成一个R∗C的矩形,矩形的每个方格上都有一个稻草人.然后她站在这个矩形的左上角,向矩形的右下角射箭.付公主的箭术过人, ...

  4. MyBatis 实现分页功能

    MySQL 的分页功能是基于内存的分页(即查出来所有记录,再按起始位置和页面容量取出结果). 案例:①根据用户名(支持模糊查询).用户角色 id 查询用户列表(即根据用户名称或根据用户角色 id 又或 ...

  5. matplotlib.pyplot.pcolormesh

     matplotlib.pyplot.pcolormesh(*args, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, shading ...

  6. LeetCode (45) Jump Game II

    题目 Given an array of non-negative integers, you are initially positioned at the first index of the a ...

  7. NOI模拟(3.6)Assignment

    Description 随机生成一个长度为m且每个元素都为1~n之间的整数的单调不下降序列~(即序列的(i>1)都不小于),(随机生成指每一种可能的序列都等概率被生成).请问这个序列的众数出现次 ...

  8. 【Kafka问题解决】Connection to xxx could not be established. Broker may not be available.

    请检查Kafka的config/server.properties 看看是否有填写 listeners=PLAINTEXT://kafka-host:9092 advertised.listeners ...

  9. python之抽象 2014-4-6

    #抽象 8.40am-1.懒惰即美德2.抽象和结构3.创建函数 内建的callable 函数可以判定函数是否可以调用 >>> import math >>> x=1 ...

  10. JVM(三):深入分析Java字节码-上

    JVM(三):深入分析Java字节码-上 字节码文章分为上下两篇,上篇也就是本文主要讲述class文件存在的意义,以及其带来的益处.并分析其内在构成之一 ---字节码,而下篇则从指令集方面着手,讲解指 ...