学会用R处理大数据

开始使用开源的R编程语言对大型数据集进行统计计算和图形处理

12 第二页
第2页共2页

您可能还想在数据库中而不是应用程序中执行一些分析。IBM在提供示例以及R源代码方面做得很好。考虑图7中所示的分析。

RStudio Bluemix

图7。我们正在看RStudio Server Pro运行在IBM Bluemix dashDB服务。我们运行的样本对数据库中的大型数据集进行了回归。

将数据从数据库中流到R中会花费大量时间。如果消除大部分网络流,就可以大大减少分析所需的时间。您会注意到数据库内回归分析的时间是2.7秒。在应用程序中完成同样的任务需要1.47分钟——比原来的时间长30倍。计算得到的回归系数完全相同。唯一改变的是,一种分析在数据驻留的地方进行回归,而另一种分析首先将数据从数据库流到R应用程序。

IBM实现并不是唯一的;我碰巧有一个Bluemix账户。Vertica (HP)、Greenplum (Pivotal)、Oracle和Teradata都有R包。然而,我不确定其他人在数据库内分析的方向上走了多远。

顺便说一下,我惊喜地发现,在浏览器中运行RStudio Server Pro就像在我的桌面上运行RStudio一样——做得很好。

闪亮和R减价

当然,开发人员和分析人员从来没有真正摆脱编写代码和确定结果的简单过程。高层管理人员想要月度报告,中层管理人员想要玩弄数据,却不知道背后隐藏着什么。输入闪亮的rmarkdown,来自RStudio的两个R包分别用于Web应用程序和报表。

图8显示了一个运行在RStudio中的简单闪亮应用程序。密码来自教训2闪亮的教程。

RStudio闪亮的教训

图8。我们看到一个运行着一个漂亮应用程序的网页,旁边的RStudio编辑器显示了这个应用程序的UI代码。例如,h1(“我的标题”)生成<标题> < / h1 >我的标题

您可以使用Shiny来构建交互式的和“反应性的”Web应用程序,以及对应于HTML控件元素的小部件,例如输入字段。RStudio的“反应性”意味着当一个值发生变化时,所有依赖于已变化值的值都将重新计算,正如您在电子表格程序中所期望的那样。图9显示了一个交互式的发亮应用程序,其中两个小部件用于输入,一个阴影的美国人口普查数据choropleth图用于输出。

RStudio闪亮的教训

图9。当用户改变输入值时,上面示例中呈现的美国地图会发生变化。注意readRDS读取序列化R对象的基函数函数中包含的附加代码renderPlot函数(从闪亮的包)以呈现一个反应的情节,和do.call用来构造和执行函数调用的基函数。的percent_map函数定义在helpers.R以呈现阴影县地图和州大纲地图。

图9中的交互式闪亮应用程序是一个很好的例子,它展示了如何允许中层管理人员使用数据,而不需要知道隐藏的内容。

若要限制输入更改时重新计算的内容,则无功包装器函数缓存它的值,只重新计算那些无效的值。我就不给你们举个例子了,尽管你们会发现一个很亮的例子第六课。闪亮的应用程序可以运行在自己的硬件上,也可以发布到shinyapps.io服务器。作为一个快速示例,请看图10。

闪亮的演示应用程序

图10。在我的本地系统上运行的交互式演示应用程序。你可以自己运行https://mheller.shinyapps.io/shinyapp-demo/

闪亮的应用程序应该满足中层管理人员的需求。那么高层管理人员呢?

如果你是GitHub的用户,或者在过去的10年里一直关注着Web和开发人员的环境,你就会知道减价的语言用于生成HTML和其他基于标记语言的格式化文档。RStudio包含了一个Markdown实现,并扩展了它以包含嵌入的R代码块以及R减价包。您还可以使用Shiny创建交互式R Markdown文档,并将它们发布到您自己的Shiny服务器上shinyapps.io。例如,请参见图11。

闪亮的互动情节

图11。一个例子的R Markdown使互动。底层代码是一个头块、几行Markdown代码和十几行r代码。参见图12。

图12

图12。的忠实的美元爆发在这个例子中使用的数据是从老忠实间歇泉数据内建到R数据集包。

R的幂

正如我们所看到的,R对于数据科学家和统计学家来说是一个有用的工具,它的一些非标准的脚本语言对于那些可能使用Python(使用NumPy、Pandas和statsmodel)的程序员来说是很有意义的;SQL(用于保存在数据库中的数据);或SAS(及其GUI衍生品,JMP)用于数据分析。与Excel相比,R在统计和绘图方面具有更强的能力,特别是在您根据特定需要添加包的情况下,而且它更值得审计。验证R脚本要比验证充满公式的电子表格容易得多。

随着RStudio作为IDE的添加,开发R应用程序可以变得非常高效。RStudio Server允许公司利用大型服务器硬件中可用的巨大RAM和许多处理器,Shiny将R变成一个Web应用服务器,而R Markdown允许您使用R来生成报告。

另一方面,R的强大功能和大量可用的R包可能造成相当可怕的学习曲线。在学习和使用R时,拥有一些统计学背景会有很大帮助,但对所有数据科学都是如此。对于任何其他具有许多可用库的编程语言来说,学习R的最佳策略是一步一步来。

这篇文章《学会用R处理大数据》最初发表于信息世界

加入网络世界社区有个足球雷竞技app脸谱网LinkedIn对最重要的话题发表评论。

版权©2015Raybet2

12 第二页
第2页共2页
工资调查:结果在