由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接。

R 是一个开源统计软件,在分析领域普及的非常快。 在过去几年中,无论业务规模如何,很多公司都采用了 R 作为分析引擎(analytical engines)。 由于 R 是一个开源软件,考虑到分析行业的前景,许多领先的产品公司已经设计了他们自己的产品以便与 R 轻松地集成(easily integrate with R)。例如,我们可以将数据从 Tableau 传递到 R,在 R 中运行一些分析 将结果发送回 Tableau 以进行可视化。

不同的 R 产品

微软也以不同的方式进入了这一局面。 Revolution Analytics 是一家总部位于加利福尼亚州的公司,成立于 2007 年,开发了名为 Revolution R Enterprise 的企业版 R(an enterprise version of R)。这个在 2014 年推出的产品引入了一些可通过并行处理管理大数据的专有组件(proprietary components)和库(libraries)。 2015 年 1 月,微软收购了 Revolution Analytics 并重新命名了几款 Revolution Analytics 产品。 微软制造了一些免费的产品,其中一些是许可产品。 这些产品集包括 Microsoft R Open,Microsoft R Client 和 Microsoft R Server。

因此,市场上有 4 种不同的 R 产品(包括开源 R 或 CRAN R),其中 3 种是免费的,另外一种(Microsoft R Server)是获得许可的。有些人可能会对这些产品之间的差异感到困惑,以至于不知道哪一个才是最合适使用的 R 产品。

微软的产品相对较新,除了微软官方网站,网上没有太多的这些产品的相关文档。 虽然微软官网的这些产品都描述得很好,但我觉得有必要总结一下这四种产品的比较视图。

不同 R 产品的比较

在开始任何比较之前,请提及所有 R 用户都知道的开源 R(Open source R)的主要缺点(我们将在此称为 CRAN R)。 事实上 R 在内存上运行。 因此,R 代码分析数据所需的时间取决于您的计算机硬件。 如果数据超出内存限制,代码将崩溃(crash)。 因此,同一数据集的逻辑回归(a logistic regression),在一台机器需要 15 秒的运行时间在另一台高端计算机上可能需要 10 秒。 它也可能无法在低配置计算机中运行。

Microsoft R 产品试图在其产品的不同版本中解决 CRAN R 的这种限制。 现在让我们首先逐一了解 Microsoft R 产品的不同附加功能。

Microsoft R Open

该产品以前称为 Revolution R Open。Microsoft R Open(我们在此称之为 MRO)是 CRAN R 的一个小改进,主要有两个方面。 首先,MRO 使用多线程英特尔数学核函数库(multithreaded Intel Math Kernel Library,MKL)进行矩阵处理,如逆计算,矩阵乘法,矩阵分解等。但是要使用它,我们需要安装 MKL 库。 没有这个库,CRAN R 和 MRO 在执行效率方面是相同的。 其次,MRO 通过默认的 CRAN 存储库(CRAN repository)提供一致的静态 R 包。 我们可以通过 checkpoint 包使用特定版本的 R 包 一次又一次地重现代码。 除了上面这两方面,MRO 与 CRAN R 是相同的。

Microsoft R Client

Microsoft R Client(我们在后面称之为 MRC)是第一个支持并行计算的产品版本。 因此,可以通过它有效处理更大的数据集,但仅限于某些统计函数。 Microsoft(实际上由 Revolution Analytics 开发)开发了一些专有算法,用于一些可以处理并行化的统计计算。 例如,平均值或方差的计算可以很容易地并行化,但关联规则挖掘(association rule mining)可能不容易并行化。 目前,MRC 中有近 80 种不同的专有功能,可以实现数据的并行化。

MRO 是 Windows 下的免费软件,我们可以使用上述专有功能。 这些函数名称以后缀 “rx” 开头。 例如,glm()函数是用于拟合广义线性模型的 CRAN R 函数,但rxGlm()可以执行相同的操作并使用并行化。 但是,在 MRO 中,并行化最多只能有两个线程。

Microsoft R Server

Microsoft R Server(我们现在称之为 MRS)使用相同的专有函数进行并行化,但它可以在多个线程(两个以上)中进行处理。 它还可以处理多个数据节点(i.e. computers)中的数据。 MRS 有各种平台,如 R Server for Linux,R Server for Windows,R Server for Hadoop,R Server for Teradata DB,SQL Server R Services 等,这些平台可以在各种操作系统和数据库中实现 R 的无缝执行。

作为许可产品,MRS 具有与之配套的支持服务,我们也可以将 R 代码作为独立的 Web 服务运行。 使用 DeployR 软件包可以为为具有集群网络节点和计算节点的多服务器拓扑(multi-server topologies)操作 MRS 引擎。

下面我试图总结以上内容,并尝试针对不同场景看到最好的 R 产品。 希望这有助于人们做出决定。

英文原文:https://www.linkedin.com/pulse/microsoft-r-open-source-which-suits-you-best-tathagata-mukhopadhyay

作者:Tathagata Mukhopadhyay  |  翻译:Steven Shen

·end·

—如果喜欢,快分享给你的朋友们吧—

我们一起愉快的玩耍吧

本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

Microsoft R 和 Open Source R,哪一个才最适合你?的更多相关文章

  1. R(二): http与R脚本通讯环境安装

    结合实际的工作环境,在开始R研究的时候,首先着手收集的就是能以Web方式发布R运行结果的基础框架,无耐的是,R一直以来常使用于个人电脑的客户端程序上,大家习惯性的下载R安装包,在自己的电脑上安装 -- ...

  2. THE R QGRAPH PACKAGE: USING R TO VISUALIZE COMPLEX RELATIONSHIPS AMONG VARIABLES IN A LARGE DATASET, PART ONE

    The R qgraph Package: Using R to Visualize Complex Relationships Among Variables in a Large Dataset, ...

  3. 【R语言系列】R语言初识及安装

    一.R是什么 R语言是由新西兰奥克兰大学的Ross Ihaka和Robert Gentleman两个人共同发明. 其词法和语法分别源自Schema和S语言. R定义:一个能够自由幼小的用于统计计算和绘 ...

  4. python中换行,'\r','\n'及'、'\r\n'

    '\r'的本意是回到行首,'\n'的本意是换行. 所以回车相当于做的是'\r\n'或者'\n\r'.'\r'就是换行并回行首, '\n'就是换行并回行首,用'\r\n'表示换行并回行首. window ...

  5. 【R笔记】给R加个编译器——notepad++

    R的日记-给R加个编译器 转载▼ R是一款强大免费且开源的统计分析软件,这是R的长处,可也是其“缺陷”的根源:不似商业软件那样user-friendly.记得初学R时,给我留下最深印象的不是其功能的强 ...

  6. 【R语言入门】R语言中的变量与基本数据类型

    说明 在前一篇中,我们介绍了 R 语言和 R Studio 的安装,并简单的介绍了一个示例,接下来让我们由浅入深的学习 R 语言的相关知识. 本篇将主要介绍 R 语言的基本操作.变量和几种基本数据类型 ...

  7. java.io.IOException: Could not delete path 'D:\mycode\reactnative\SecondTest\android\app\build\generated\source\r \release\android\support\v7

    问题解决 直观上看是没有删除某个文件,产生的IOException异常,实际上是因为上次编译导致的缓存没有清空导致的. 进入到android目录下运行下面代码清除上次打包时的缓存: ./gradlew ...

  8. 【转载】 C++中回车换行(\n\r)和换行(\r)的区别

    原文:http://blog.csdn.net/xiaofei2010/article/details/8458605 windows下的点一下回车,效果是:回车换行,就是\r\n unix系统下的回 ...

  9. R统计建模与R软件

    教材目录 第一章 概率统计的基本知识 第二章 R软件的使用 第三章 数据描述性分析 第四章 参数估计 第五章 假设检验 第六章 回归分析 第七章 方差分析 第八章 应用多元分析(I) 第九章 应用多元 ...

  10. 【R与数据库】R + 数据库 = 非常完美

    前言 经常用R处理数据的分析师都会对dplyr包情有独钟,它强大的数据整理功能让原始数据从杂乱无章到有序清晰,便于后期进一步的深入分析,特别是配合上数据库的使用,更是让分析师如虎添翼,轻松搞定Exce ...

随机推荐

  1. Kafka 之 HW 与 LEO

    更多内容,前往 IT-BLOG HW(High Watermark):俗称高水位,它标识了一个特定的消息偏移量(offset),消费者只能拉取到这个 offset 之前的消息.分区 ISR 集合中的每 ...

  2. 基于Admin.NET框架的前端的一些改进和代码生成处理(1)

    Admin.NET 是一套基于Furion/.NET 6实现的通用管理平台,模块插件式开发,框架包含了常规的权限管理.字典等管理模块,以及一些Vue3的Demo案例,框架前后端分离.后端基于基于Fur ...

  3. abp(net core)+easyui+efcore实现仓储管理系统——ABP升级7.3下(五十九)

    Abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...

  4. 安装 Metrics server

    安装 Metrics server Metrics Server 是 Kubernetes 内置自动缩放管道的可扩展.高效的容器资源指标来源. Metrics Server 从 Kubelets 收集 ...

  5. win32api中文在线文档

    中文文档http://www.yfvb.com/help/win32sdk/ 英文手册https://www.jb51.net/books/724576.html

  6. VMware Workstation Pro许可证

    永久许可证:ZC10K-8EF57-084QZ-VXYXE-ZF2XF 备用许可证: UF71K-2TW5J-M88QZ-8WMNT-WKUY4 AZ7MK-44Y1J-H819Z-WMYNC-N7A ...

  7. boot-admin整合flowable官方editor-app进行BPMN2.0建模

    正所谓百家争鸣.见仁见智.众说纷纭.各有千秋!在工作流bpmn2.0可视化建模工具实现的细分领域,网上扑面而来的是 bpmn.js 这个渲染工具包和web建模器,而笔者却认为使用flowable官方开 ...

  8. 深度学习-06(PaddlePaddle体系结构与基本概念[Tensor、Layer、Program、Variable、Executor、Place]线性回归、波士顿房价预测)

    文章目录 深度学习-06(PaddlePaddle基础) paddlePaddle概述 PaddlePaddle简介 什么是PaddlePaddle 为什么学习PaddlePaddle PaddleP ...

  9. 使用Jmeter进行CPU、内存等监控

    一.需要的准备 1.jp@gc - PerfMon Metrics Collector插件(安装方法就不过多介绍啦!) 2.ServerAgent服务器(下载:https://github.com/u ...

  10. golang中一种不常见的switch语句写法

    最近翻开源代码的时候看到了一种很有意思的switch用法,分享一下. 注意这里讨论的不是typed switch,也就是case语句后面是类型的那种. 直接看代码: func (s *systemd) ...