R 是否适用于生产(部署)代码

机器算法验证 r 参考
2022-02-15 15:12:43

我读过很多文章,这些文章谈到了 Google、Facebook 等公司以及许多其他使用 R 进行研究的公司。我读到的另一种情况是公司使用 R 对分析解决方案进行原型设计,然后用另一种语言重新实现它。

我正在尝试查找有关使用 R 进行实际生产分析代码的公司的文献。一个用例可能是一个推荐系统,用户通过一个网页与之交互,该网页从远程服务器上执行的 R 脚本获得响应。我无法找到此类报告这一事实让我怀疑这是否不可取。如果是,为什么?

3个回答

是的。在此页面上查看精彩的无头RServe R 服务器实例(由 R 核心成员 Simon Urbanek 编写),其中列出了这些部署:

Some projects using Rserve:
   The Dataverse Network Project   Phenyx                     "J" interface
   Nexus BPM                       Taverna                    Bio7
   INTAMAP                         Screensaver HTS LIMS       CRISP
   WWARN

上面引用的页面上的链接。

与学术界相比,“行业”往往对细节更加谨慎,因此您将很难找到“官方”声明。但是像革命分析或甲骨文这样的供应商提供 R 和他们的销售人员可能有你的故事......

通常不是因为 R 是一种解释语言,它平均比等效的编译代码慢很多倍。虽然将您的程序转换为 C、Fortran 或 Java 需要大量投资,但代码的运行速度实际上可以比等效的 R 版本快 10-100 倍。此外,R 用于处理大型数据集的工具非常有限,尤其是那些需要集群处理或需要特殊硬件的工具。此外,大多数商业实现需要提供用户界面并适应现有框架,这些框架通常是用其他语言编写的。虽然您可以与大多数编译语言的现有 R 代码交互(那里有包装器),但您会发现您的核心数值例程仍然不会比原始 R 代码快。在一天结束时,

我相信(但这是基于轶事)R 更倾向于被您上面提到的公司用作原型语言。R 擅长快速有效地开发和测试多个模型。但是,它不适合个性化任务,因为这些任务通常需要在用户与特定网站交互时发生,而且我相信(同样,这主要是轶事)这些模型往往会用编译语言重写(Java、C、C++)。

话虽这么说,好问题,我很想在这方面被证明是错误的。