Rは実動(デプロイ済み)コードに対して実行可能か


25

GoogleやFacebookなど、Rを研究に使用している他の多くの企業に関する記事を多数読んでいます。私が読んだもう1つのシナリオは、Rを使用して分析ソリューションのプロトタイプを作成し、別の言語で再実装する企業です。

実際の生産分析コードにRを使用している企業に関する文献を探しています。ユースケースは、リモートサーバーで実行されたRスクリプトから応答を取得するWebページを介してユーザーが対話する推奨システムです。そのようなレポートを見つけるのに苦労しているという事実は、それが望ましくないのではないかと思うようになります。もしそうなら、なぜですか?


1
これはいい質問です。私には予感がありますが、これを実際の答えにするのに十分な知識はありません。私の疑いは、RはGPLの下で配布されるため、それを使用する派生製品はすべて無料でオープンソースでなければならないということです。これは、エンタープライズソフトウェアから利益を得ようとする企業が製品を販売できないため、Rから遠ざかることを意味する場合があります。
グレックマクファーレン

3
あなたの利益がソフトウェアの販売に基づいている場合にのみ、そしてそれでも、一部の人々は、例えばソースコードがgithubにあるRStudioのようにソフトウェアを譲り渡します。
ダークエデルビュッテル

回答:


16

はい、そうです。これらの展開をリストする素晴らしいヘッドレス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

上記のページにリンクがあります。

「産業」は、学問よりも詳細について気がかりになる傾向があるため、「公式」の声明を見つけるのは困難です。しかし、Revolution AnalyticsやOracleのようなベンダーはRを出荷し、彼らのセールスマンはあなたのために物語を持っているかもしれません。


3
セールスマンの場合は+1。何かを購入することに興味があり、かなりの数の営業担当者がCEOのSSNを提供するとします。
Fomite

1

通常、Rはインタープリター言語ではなく、平均して同等のコンパイル済みコードよりも何倍も遅いです。プログラムをC、Fortran、またはJavaに変換するには多大な投資が必要ですが、コードは文字通り、同等のRバージョンよりも10〜100倍高速に実行できます。さらに、Rには、大規模なデータセット、特に処理にクラスターを必要とする、または特別なハードウェアを必要とするデータセットを操作するためのツールが非常に限られています。さらに、ほとんどの商用実装では、ユーザーインターフェイスを提供し、通常は他の言語で記述された既存のフレームワークに適合する必要があります。ほとんどのコンパイルされた言語の既存のRコード(そこにラッパーがあります)とインターフェースをとることはできますが、コアの数値ルーチンは元のRコードよりも高速ではないことがわかります。一日の終わりに、


2
>(...)コードは、私が同意しない同等のRバージョンよりも文字通り10〜100倍速く実行できます。ほとんどすべてのRライブラリは、CまたはFortranで作成されています。Rは主にそれらの間の「接着剤」として機能し、その比較的低いパフォーマンスは考慮されません。
アダムリツコフスキ

1
違います。コアライブラリはCで記述されている場合がありますが、Rのほとんどの高レベルアルゴリズムはRで記述されています。JIT最適化は、解釈言語とコンパイル言語のパフォーマンスに関するルールを変更していますが、私が知る限り、 R向けにこれらの行が進行中です(Pythonは強力な努力をしています:PyPyを参照)。
user1337732

1
私は定期的にRを使用して、サイズが2 GBの行列を処理します。
ヤンガルコフスキー

0

Rは、上記の企業がプロトタイプ言語としてより多く使用する傾向があると信じています(ただし、これは逸話に基づいています)。Rは、複数のモデルを迅速かつ効果的に開発およびテストするタスクに優れています。ただし、ユーザーが特定のWebサイトと対話するときにこれらを実行する必要があることが多く、そのようなモデルはコンパイルされた言語で書き直される傾向があると信じているため、パーソナライズタスクには適していません(繰り返しますが、これはほとんど逸話です) (Java、C、C ++)。

そうは言っても、良い質問であり、私はこれについて間違っていることを証明したいと思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.