È utilizzabile per il codice di produzione (distribuito)


25

Ho letto una serie di articoli che parlano di aziende come Google, Facebook e molti altri che usano R per la ricerca. L'altro scenario di cui ho letto sono le aziende che utilizzano R per prototipare una soluzione di analisi e quindi implementarla nuovamente in un'altra lingua.

Sto cercando di trovare documentazione sulle aziende che utilizzano R per il codice di analisi della produzione reale. Un caso d'uso potrebbe essere un sistema di raccomandazione con cui l'utente interagisce tramite una pagina Web che ottiene una risposta da uno script R eseguito su un server remoto. Il fatto che io abbia problemi a trovare tali rapporti mi fa chiedermi se non sia consigliabile. Se sì, perché?


1
Questa è una buona domanda Ho un sospetto, ma non ne so abbastanza per rendere questa una vera risposta. Il mio sospetto è che, poiché R è distribuito ai sensi della GPL, tutti i prodotti derivati ​​che lo utilizzano devono essere anche gratuiti e open-source. Ciò può significare che le aziende che desiderano trarre profitto dal software aziendale si allontanerebbero da R perché non sarebbero in grado di vendere il prodotto.
gregmacfarlane,

3
Solo se il tuo profitto si basa sulla vendita del software --- e anche allora, alcune persone continuano a distribuire il software come ad esempio RStudio il cui codice sorgente è su github.
Dirk Eddelbuettel,

Risposte:


16

Sì. Cerca ad esempio questa pagina per la meravigliosa istanza del server RServe R senza testa (del membro di Simon Core R Urbanek) che elenca queste distribuzioni:

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

con collegamenti alla pagina di cui sopra.

L '"industria" tende a essere più cauta riguardo ai dettagli rispetto al mondo accademico, quindi sarai molto stanco di trovare dichiarazioni "ufficiali". Ma venditori come Revolution Analytics o Oracle spediscono R e i loro venditori possono avere storie per te ...


3
+1 per i venditori. Supponiamo che tu sia interessato all'acquisto di qualcosa e che un buon numero di venditori distribuisca il SSN del loro CEO.
Fomite,

1

In genere non come R è un linguaggio interpretato, che in media è molte volte più lento del codice compilato equivalente. Mentre la conversione del programma in C, Fortran o Java richiede un investimento significativo, il codice può letteralmente eseguire 10-100 volte più veloce di una versione R equivalente. Inoltre, R ha strumenti molto limitati per manipolare set di dati di grandi dimensioni, in particolare quelli che richiedono l'elaborazione di cluster o l'hardware speciale. Inoltre, la maggior parte delle implementazioni commerciali devono fornire interfacce utente e adattarsi a framework esistenti, che sono tipicamente scritti in altre lingue. Mentre potresti interfacciarti con il codice R esistente dalla maggior parte dei linguaggi compilati (ci sono wrapper là fuori), scopriresti che le tue routine numeriche core non sarebbero comunque più veloci del codice R originale. Alla fine del giorno,


2
> (...) il codice può letteralmente funzionare 10-100X più veloce di una versione R equivalente, non sono d'accordo. Quasi tutte le librerie R sono scritte in C o Fortran. La R funziona principalmente come una "colla" tra di loro, e le sue prestazioni relativamente scarse non contano.
Adam Ryczkowski,

1
Non vero. Mentre la libreria principale può essere scritta in C, la maggior parte degli algoritmi di alto livello in R sono scritti in R. L'ottimizzazione JIT sta cambiando le regole per quanto riguarda le prestazioni dei linguaggi interpretati rispetto ai linguaggi compilati, ma per quanto ne so non ci sono sforzi queste linee sono in corso per R (Python ha uno sforzo notevole: vedi PyPy).
user1337732

1
Uso regolarmente R per lavorare su matrici di dimensioni pari a 2 GB.
Jan Galkowski,

0

Credo (ma questo si basa su un aneddoto) che R tende ad essere usato più come linguaggio di prototipazione dalle società che hai citato sopra. R eccelle nel compito di sviluppare e testare più modelli in modo rapido ed efficace. Tuttavia, non è adatto alle attività di personalizzazione in quanto spesso devono svolgersi quando un utente interagisce con un determinato sito Web e credo (di nuovo, questo è principalmente un aneddoto) che tali modelli tendono a essere riscritti in un linguaggio compilato (Java, C, C ++).

Detto questo, buona domanda e mi piacerebbe essere smentito su questo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.