Є R життєздатним для виготовлення (розгорнутого) коду


25

Я прочитав ряд статей, які розповідають про такі компанії, як Google, Facebook та багато інших, які використовують R для дослідження. Інший сценарій, про який я читав, - це компанії, які використовують R для прототипування аналітичного рішення, а потім повторно реалізують його іншою мовою.

Я намагаюся знайти літературу про компанії, що використовують R для фактичного коду аналітики виробництва. Випадок використання може бути системою рекомендацій, з якою користувач взаємодіє через веб-сторінку, яка отримує відповідь із сценарію R, виконаного на віддаленому сервері. Той факт, що у мене виникають проблеми з пошуком таких звітів, змушує мене замислитись, чи це не доцільно. Якщо так, чому?


1
Це гарне запитання. Я маю уявлення, але я не знаю достатньо, щоб зробити це фактичною відповіддю. Я підозрюю, що оскільки R поширюється під GPL, будь-які похідні продукти, що використовують його, також повинні бути вільними та відкритими. Це може означати, що компанії, які бажають отримати прибуток від корпоративного програмного забезпечення, відмовляються від R, оскільки вони не зможуть продати продукт.
gregmacfarlane

3
Тільки якщо ваш прибуток заснований на продажі програмного забезпечення --- і навіть тоді, деякі люди все одно віддають це програмне забезпечення, наприклад, RStudio, вихідний код якого знаходиться на github.
Дірк Еддельбюттель

Відповіді:


16

Так. Подивіться, наприклад, на цій сторінці чудовий екземпляр сервера RServe R (член R Core член Саймон Урбанек), який перераховує такі розгортання:

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

із посиланнями на сторінку, на яку посилалося вище.

"Промисловість" має тенденцію бути більш невдоволеною щодо деталей, ніж наукові установи, тому вам буде важко знаходити "офіційні" заяви. Але такі постачальники, як Revolution Analytics або Oracle ship R та їхні продавці, можуть мати історію для вас….


3
+1 для продавців. Скажіть, що вам цікаво щось придбати, і значна кількість продавців видасть SSN свого генерального директора.
Фоміт

1

Зазвичай це не так, як R - інтерпретована мова, яка в середньому у багато разів повільніше, ніж еквівалентно складений код. Під час перетворення вашої програми на C, Fortran або Java затрачені значні інвестиції, код може буквально працювати на 10-100X швидше, ніж еквівалентна R-версія. Крім того, R має дуже обмежені інструменти для маніпулювання великими наборами даних, особливо тими, для яких потрібні кластери для обробки або потребують спеціального обладнання. Більш того, більшість комерційних реалізацій потребують надання інтерфейсів користувача та підключення до існуючих рамок, які, як правило, написані іншими мовами. Хоча ви могли взаємодіяти з існуючим кодом R з більшості компільованих мов (там є обгортки), ви виявите, що ваші основні числові процедури все ще не будуть швидшими, ніж вихідний код R. В кінці дня,


2
> (...) код може буквально працювати на 10-100X швидше, ніж еквівалентна версія R, я не згоден. Практично всі бібліотеки R написані на мові C або Fortran. R працює в основному як "клей" між ними, і його відносна погана продуктивність не враховується.
Адам Річковський

1
Неправда. Хоча основна бібліотека може бути написана на C, більшість алгоритмів високого рівня в R записуються в R. JIT оптимізація змінює правила щодо продуктивності інтерпретованих мов порівняно з компільованими мовами, але, наскільки я знаю, немає зусиль ці лінії ведуться для R (Python докладає значних зусиль: див. PyPy).
user1337732

1
Я регулярно використовую R для роботи над матрицями розміром 2 ГБ.
Ян Гальковський

0

Я вважаю (але це засновано на анекдоті), що компанія, як правило, більше використовується як мова прототипування компаніями, яких ви назвали вище. R перевершує завдання розробити та протестувати кілька моделей швидко та ефективно. Однак це не дуже підходить для завдань з персоналізації, оскільки вони часто мають відбуватися, коли користувач взаємодіє з певним веб-сайтом, і я вважаю (знову ж, це переважно анекдот), що такі моделі, як правило, переписуються мовою, що склалася (Java, C, C ++).

Коли це було сказано, гарне запитання, і я хотів би, щоб в цьому помилився.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.