学会用R处理大数据

使用开源R编写做大型数据集的统计计算和图形上手

肖像历史

几年前,我是CTO,并在医疗实践管理软件领域启动的联合创始人。其中一个我们试图解决的问题是访问日程安排可以办公如何优化医疗大家的时间。很多时候,诊所的就诊计划都是为了优化医生的时间,病人不得不在拥挤的候诊室里等太长时间,和一群把传染性疾病咳出肺部的人在一起。

我的一位联合创始人,某医院医务主任,有可能预测基于对访问的原因办公室访问所需要的长度的多元线性模型,病人是否需要一个翻译,两个医生的历史平均访问长度和病人,以及其他可能的相关因素。一个我需要建立子系统是每月回归任务来更新所有系数在基于历史数据的模型。

探索许多选项后,我选择实现此片在R,服用的各种统计(线性和非线性建模,传统的统计测试,时间序列分析,分类,聚类)和R系统实现的图形技术的优点。

其中一个吸引我的是R脚本语言,它使得在更新的数据集上保存和重新运行分析变得很容易;另一个吸引人的地方是R和c++的集成能力。这个项目的一个关键好处是,与Excel和其他GUI分析程序不同,R是完全可审计的。

可惜的是,在我实现了一个概念验证Web应用程序后不久,这家初创公司就用光了资金,至少部分原因是我们的第一位医院客户不得不宣布破产。然而,我继续选择R for statistical analysis and data science。

基本的R脚本

计算机世界的Sharon Machlis写道一个优秀组的初级教程的R上的商业智能在2013年。如果我在这里重新编写这六篇文章,那就太愚蠢了,所以请随意阅读,然后再回来。TL;DR版本如下所示。

首先安装RRStudio在你的桌面。都是免费的。RStudio是可选的,但我喜欢它,你可能也会喜欢。还有五六个其他的R ide和十二个编辑器都支持R,但是不要疯狂地尝试它们。

尝试从命令shell(图1)、R控制台(图2)和RStudio(图3)运行R。熟悉一些R教程和演示。

中的R一击壳运行

图1所示。在Bash shell中运行,使用提供的glm。vr线性回归演示。

R控制台

图2. R控制台,R演示的浮动列表和石英图形窗口中。R图形演示运行。注意<-是正常的赋值运算符。

RStudio

图3。RStudio有四个窗口(除了编辑器之外的所有窗口都显示在这里),每个窗口中有多个选项卡。来自R站点的示例代码正在运行。注意右上方显示的数据,非常方便。

R的功率由图3中的看似简单的呼叫所示做统计分析。例如,

FM1 < - LM(Y〜X,数据=虚设,重量= 1 / W ^ 2)
总结(fm1)

这意味着“为线性模型找到最佳的拟合系数、拟合值和残差ÿ有变化X对所提供的数据和权重向量。将它们保存在对象fm1然后总结结果。“在本次会议的早些时候,我们定义了以下内容:

w <- 1 +√x / 2

读这段代码很简单。写作需要一点研究。但不生硬,有大量的免费帮助中获得,更不用说几十本书。

除了在网络上和向R控制台和RStudio帮助菜单项可将R的帮助下,你可以从R命令行帮助。例如:

?functionName
帮助(functionName)
示例(functionName)
ARGS(functionName)
的帮助。搜索(“你的搜索词”)
??(“我的搜索词”)

为了得到数据转换成R,要么使用它的样本数据,由上市数据()函数,或从文件加载:

mydata < - read.csv (“filename.txt”)

R具有极强的可扩展性。的图书馆()要求()功能负荷并附加额外添加的包;要求()是为其他函数内部使用而设计的。许多附加包和R发行版都存在于世界范围的综合R归档网络CRAN中。其他两个常见的R档案是Omegahat和Bioconductor。其他的包在R-Forge中。

在R安装过程中复制了基本的软件包,并从CRAN推荐的包到本地库目录,这在Mac上目前是/Library/Frameworks/R.framework/Versions/3.1/Resources/library/。运行将R图书馆()不带任何参数的命令将列出本地包和库的位置。RStudio也将产生正确的图书馆()命令当你在软件包选项卡中勾选安装对勾安装包上市。命令帮助(包=的packageName)将显示指定包中的函数。

有R封装并起到负载数据从任何合理源,不仅CSV文件。除了比其它的逗号分隔符的明显情况下,所使用的处理read.table ()功能,您可以复制和粘贴的数据表,读取Excel文件,连接Excel以R,在SAS和SPSS数据,以及访问数据库,Salesforce的,和RESTful接口带来的。见,例如,外国包中。

你并不真的需要学习的标准数据导入的语法,作为RStudio工具|导入数据集菜单项将帮助您生成正确的命令,以交互方式看,从文本文件或URL中的数据,并根据您所看到的下拉列表中设置正确的转换选项。

你可以看到一个按名称目前可用的软件包列表凹口;这个列表比默认情况下下载到桌面的推荐包列表更广泛。若要从默认存档之一安装包,请使用install.packages功能:

install.packages( “GGPLOT2”)

注意ggplot2是一个流行的高级图形软件包有更多的选择比标准图像包中。尽管如此,图像除了图2和图3中的图形之外,考虑图4和图5。

R虹膜散点图

图4.埃德加安德森的虹膜数据是股票R数据集,并且该组散点图,通过所产生的图像演示。

[R地形图

图5。这张蒙加岛的地形图是由股票数据和国家统计局编制的图像演示。

R可以在图形和统计分析方面做更多的工作。务必阅读莎朗·马克利斯的教程并按照与她的链接到其他信息。在这里,我想把我的讨论扩展到如何在R中分析大数据。

中的R云

当R程序员谈“大数据”,他们不这样做,通过Hadoop的推移一定意味着数据。他们一般用“大”到无法在内存中分析平均数据。

事实上,台式机或笔记本电脑很容易就能获得16GB的内存。在16GB RAM中运行的R可以毫无问题地分析数百万行数据。自从以前一个数据库表有一百万行被认为是大的时候以来,时间已经发生了很大的变化。

其中的第一个步骤时,他们的程序需要更多的RAM,许多开发商采取的是一个更大的机器上运行它。您可以在服务器上运行R等一个共同的4U的英特尔服务器可容纳的RAM 2TB。当然,霸占整个2TB服务器一个人[R实例可能是有点浪费。所以,人们跑,只要他们需要,他们的服务器硬件上运行的虚拟机,或者在他们的服务器硬件上运行RStudio服务器的喜欢大云实例。

RStudio Server有免费版和专业版。这两个版本都为个别分析师提供了相同的功能,但专业版在规模方面提供了更多:授权和安全、管理可见性、性能调优、支持和商业许可。据RStudio的罗杰·奥伯格说,公司的意图是创建付费功能只针对个人。

RStudio Server Pro集成了几个大数据系统。例如,当我回顾IBM Bluemix的PaaS实际上,这是RStudio的Oberg和Tareef Kawaf在Bluemix和SoftLayer上安装的RStudio Server Pro。

[R Bluemix

图6. IBM Bluemix文档吹捧到针对DashDB内存数据库运行R.脚本的能力。

有针对大数据运行v一个额外的策略:关闭只是你需要分析的数据。在MapReduce的,Hadoop的,星火,和风暴的精神,你想,你流这使内存分析听话的缩减数据集合簸数据。要使用Kawaf的例子,你可能有数据,但需要“只有” 5列和20万行的100TB,减少数据的区区几百兆。

12 第1页
第1页共2页
IT薪资调查:结果在