R vs SAS, perché SAS è preferito dalle società private?


143

Ho imparato R ma sembra che le aziende siano molto più interessate all'esperienza SAS. Quali sono i vantaggi di SAS rispetto a R?


17
È tragico, ma temo vero ...
Gung

19
Una volta uno statistico medico mi ha detto che usano SAS perché se commettono errori dovuti a bug del software e si tratta di cause legali, SAS li ricompenserà. R viene fornito senza garanzia.
Momo,

42
@Momo R viene senza garanzia, vero, ma mi piacerebbe vedere un riferimento che SAS ha così forte. Non sono riuscito a trovare il testo della licenza SAS sul loro sito Web, ma sono riuscito a trovare qualcosa per un componente: support.sas.com/documentation/onlinedoc/sasc/doc650/common/… Che ha una garanzia di 90 giorni sui media che il il software viene spedito e una dichiarazione di non responsabilità di qualsiasi altra garanzia. Si prega di fornire un riferimento diverso da "qualcuno mi ha detto una volta".
Brian Diggs,

13
Era solo un aneddoto, mi piace il pragmatico cinismo del commento. Ma felice che tu abbia controllato, non mi è mai importato.
Momo,

36
SAS viene fornito con la stessa garanzia di R: nessuno.
Frank Harrell,

Risposte:


139

Penso che ci siano diverse questioni (in ordine crescente di possibile validità):

  1. Tradizione / abitudine : le persone sono abituate a SAS e non vogliono imparare qualcosa di nuovo. (Rendendolo più difficile, il modo in cui pensi in SAS e R è diverso.) Questo può applicarsi a chiunque potrebbe doverti inviare codice o leggere / utilizzare il tuo codice, inclusi manager e colleghi.
  2. Diffidenza del freeware : ho avuto diverse persone a dire che non sono disposti ad accettare risultati da R perché non si dispone di una società a scopo di lucro che verifica il codice per garantire che fornisca risultati corretti prima che venga distribuito ai clienti, per timore che non finiscono per perdere affari.
  3. Big data : R esegue operazioni con tutto ciò che è in memoria, mentre SAS non necessariamente. Pertanto, se i tuoi dati si avvicinano ai limiti della tua memoria, ci saranno problemi.

Personalmente, penso solo che il n. 3 abbia un merito legittimo, sebbene ci siano approcci ai big data sviluppati con R. I problemi con il n. 1 parlano da soli. Penso che il n. 2 ignori diversi fatti: c'è qualche controllo che continua con R, molti dei pacchetti principali sono scritti da alcuni dei più grandi nomi nelle statistiche e ci sono stati studi che confrontano l'accuratezza dei diversi software statistici e R ha sicuramente stato competitivo.


41
Il punto 1 ottiene più legittimità se si include anche "infrastruttura esistente" sotto quel banner di inerzia. Se esistono già processi aziendali che utilizzano già SAS, allora c'è un costo di transizione con il cambiamento. In questo caso, non si tratta di scegliere tra SAS e R, ma scegliere tra rimanere con SAS e passare a R, che può avere una conclusione diversa.
Brian Diggs,

25
Il punto del punto 2 è che, mentre ALCUNI pacchetti R sono scritti da esperti, altri no. Chi garantisce per loro? Chi li mette alla prova? (So ​​che sono testati che ESEGUONO, ma chi verifica che funzionino correttamente?) Lo so, puoi guardare il codice, ma ciò presuppone il tempo e la capacità di guardare il codice di qualcun altro e verificarlo, spesso per metodi che sono molto complessi.
Peter Flom

18
@PeterFlom, sollevi un punto ragionevole. Man mano che i pacchetti diventano più esoterici, la garanzia è inferiore a quella dei prodotti di base. Ma quanto lontano devi andare? Anche SEM, che è piuttosto avanzato, è stato scritto in R da John Fox. Inoltre, StasK fa un buon punto sulla realtà della verifica pratica del software statistico. Infine, R è molto più completo di ogni altra cosa, quindi quando vuoi fare cose esoteriche con altri software, devi principalmente codificarlo da solo. Chi garantisce l'accuratezza di quel codice?
gung

33
Chi controlla esattamente il codice SAS, Stata, SPSS? Esiste un modo per sapere se i risultati che forniscono, con i metodi che dicono di utilizzare, sono effettivamente implementati correttamente? So di seguire, ad esempio, la lme4mailing list che i confronti con SAS escono abbastanza regolarmente. Ma è impossibile sapere se dovremmo anche fare simili confronti. Senza accesso alla fonte, dobbiamo dare per scontato a quelle aziende che i risultati prodotti dal loro software sono effettivamente validi. Francamente, preferisco avere la possibilità di rivedere il codice software che utilizzo.
Jason Morgan,

28
È vero, ma è difficile penalizzare un sistema di calcolo statistico per la sua completezza. O per dirlo in un altro modo, il modo in cui R fa qualcosa è meglio del modo in cui un altro sistema non lo fa.
Frank Harrell,

105

Oltre alle buone risposte finora, aggiungerei il fattore imbarazzo. Se lo scorso anno hai speso centinaia di migliaia di dollari per il supporto SAS e SAS e non proponi di spendere nulla per R, con prezzi di supporto estremamente bassi (Revolution, ecc.), Qualcuno della catena chiederà perché. È stato un errore spendere così tanti soldi l'anno scorso quando R esisteva l'anno scorso? O è un errore eliminare software professionale per qualcosa creato da un gruppo di volontari?

Una volta che il problema è stato inquadrato in quel modo, è una proposta perdente, quindi forse meglio non risolverlo.


47
Questa è forse la risposta più cinica su cross-validated. +1
Probislogic

11
@probabilityislogic: grazie! Per essere chiari, questo è più un commento sulla cattiva gestione di livello superiore che sulle persone che usano il software. Ho lavorato in posti dove c'era davvero l'atteggiamento (ai livelli più alti), "Hmmm ... non hai speso tutti i soldi che ti abbiamo stanziato quest'anno. Ovviamente puoi cavartela con meno soldi, quindi noi stai tagliando il tuo budget per il prossimo anno e dando un extra al dipartimento che ha speso troppo ". Regole Dilbert.
Wayne,

11
"Non hai speso i soldi ..." - è esattamente così che funzionava il sistema di pianificazione sovietico, per quanto ne sapevo in prima persona.
StasK

5
Qualcuno della catena deve essere spiegato che per una frazione del costo di una licenza SAS, è possibile installare R Studio Server su una macchina virtuale AWS con 16 core e 256 GB di RAM - nelle mani di 2 buoni programmatori R, questo è altro potente di qualsiasi cosa SAS possa fare. Pensa a quanto velocemente miliardi di record possono essere sfocati tra loro! O del resto anche PostgreSQL Open source con Python + PERL raggiungerà una frazione del costo.
vagabondo

1
"O è un errore eliminare software professionale per qualcosa creato da un gruppo di volontari?" Questa è una falsa dicotomia!
kjetil b halvorsen,

54

Oltre a ciò che il gung ha correttamente identificato qui, il problema più grande nel mondo aziendale è l'eredità. E quando hai un codice di produzione di buona qualità che è noto per fare il lavoro, non lo cambi. SAS era in circolazione fin dagli anni '70 e all'epoca era l'unico linguaggio statistico di scripting efficace, secondo gli standard. La quantità di codice di produzione accumulata da allora in SAS nel settore farmaceutico e del governo è inimmaginabile, decine di migliaia di anni umani. Riscriverlo in R o Stata richiederebbe alcuni anni, il codice risultante diventerà più flessibile, più efficiente, più trasparente, più facile ed economico da mantenere, ma nessuno pagherà per tale refactoring. (La mia esperienza in questo senso è che il mio codice Stata è generalmente tre volte più corto; una volta ho avuto un progetto che convertiva il codice SPSS in Stata dove l'ho reso circa 20 volte più corto.

In un certo senso, questa è una storia simile con gli editori accademici: stanno cavalcando una marea di utenti finali che mantengono le loro iscrizioni per necessità; un'università senza abbonamento a Nature non è in realtà un'università. La pubblicazione gratuita tramite società professionali lo renderà più economico, le persone preparano le loro presentazioni in LaTeX in questi giorni, quindi sono pronte per la fotocamera e le stesse persone forniranno la revisione tra pari, quindi non ci sarà una battuta d'arresto di qualità su nessuna delle dimensioni. Ma ... non c'è un marchio e il fattore di impatto dietro le riviste online.

Questo riassume tutto: http://scatter.wordpress.com/2011/06/28/stata-12/ . Stata è preferito nei circoli economici e politici, e più imparo SAS, più mi piace Stata.


38
SAS ha un'orribile sintassi che è iniziata con qualcosa di simile a JCL (IBM Job Control Language) per l'invio di lavori batch di schede perforate nel corso della giornata. È straordinario che le persone lo stiano ancora usando, davvero.
Wayne,

6
+1 Mi è piaciuto particolarmente il BlackBerry: iOS: Android: Nokia come SAS: Stata: R: analogia SPSS nel post scatterplot.
jthetzel,

6
Wayne, se hai mai pensato ad altro sull'affermazione CARDS, ti rendi conto che SAS è il pacchetto software statistico per lavorare con le schede perforate. Stata funziona con set di dati rettangolari. R lavora con oggetti. Quindi, a seconda del tipo di formato di dati che devi affrontare, uno potrebbe essere migliore di altri.
StasK

3
Un punto importante nell'eredità sono cose come l'approvazione della FDA o regolamenti simili. L'industria con cui ho parlato non toccherà nulla (TM) dopo averlo superato per essere sicuri di non dover ripetere l'intero processo. E questo è un grande argomento in termini di denaro.
cbeleites,

48

Ho lavorato con efficacia come programmatore SAS negli ultimi sette anni, accanto a me un collega ha programmato SAS più a lungo di quanto non fossi vivo. Come notato qui, c'è una grande quantità di inerzia / eredità dietro SAS; ma SAS proprio come R è un modo per un mezzo, non il mezzo stesso.

SAS è estremamente efficiente nell'accesso sequenziale ai dati e l'accesso al database tramite SQL è estremamente ben integrato. I PROC sono molto ben documentati, ma sfortunatamente non completamente standardizzati con la notazione (PROC OPTMODEL e IML sono due esempi). È un po 'goffo quando si tratta di scrivere codice complicato e non è elegante per il codice parallelo. Ho anche scoperto che l'importazione di file CSV è una fonte di grande sofferenza a volte e preferisco scaricarlo prima su R e poi su un database.

Sebbene SAS abbia interfacce per oggetti condivisi e DLL, non si ha un buon accesso a qualsiasi file di intestazione o qualcosa del genere, e anche la distribuzione del codice non è disponibile attraverso pacchetti felici.

C'è comunque poca preoccupazione per qualcuno che include un pacchetto esoterico ormai defunto o rotto nel codice che ora è necessario mantenere, e la qualità del codice in SAS tende ad essere uniformemente eccellente (anche il codice R core è eccellente, e anche liberamente disponibile a chiunque).

Come accennato in precedenza, SAS è anche estremamente costoso, ma è un buon strumento a cui vado quando so che esiste una procedura fissa che funziona bene per le mie esigenze.

R + SAS + mysql con un po 'di perl da incollare insieme funziona incredibilmente :)


11
L'osservazione sul mantenimento dei vecchi pacchetti vale anche per una macro scritta dall'utente o un vecchio proc che sas non ha aggiornato.
Probislogic

4
R ha anche un ottimo supporto SQL acquisito recentemente tramite dplyrlibreria: traduce letteralmente la sintassi R / dplyr in SQL e chiama il database, puoi decidere quali operazioni fare sul server db e quali localmente usando la stessa sintassi: cran.r-project. org / web / pacchetti / dplyr / vignettes / d database.html
Tim

41

Quindi uso sia R che SAS - certamente nel mondo accademico - ma ci sono un paio di ragioni che a volte tendo a dirigermi verso SAS:

  1. Migliore documentazione. R sta migliorando, ma la documentazione, specialmente la documentazione ufficiale, è spesso piuttosto terribile e opaca. Oltre a ciò, SAS è supportato da una massiccia infrastruttura di libri: l'uso di R! la serie lo sta aiutando in R, ma non è ancora del tutto presente. Posso passare all'analisi di sopravvivenza di Paul Allison usando SAS , o all'analisi categorica dei dati usando SAS o al libro che ho sui metodi Monte Carlo usando SAS e ho un libro chiaramente scritto in uno stile abbastanza coerente per il linguaggio che sto usando.
  2. Inerzia. Questo non è solo "le aziende sono pigre", ma anche l'inerzia ha un valore. C'è conoscenza istituzionale. Così e così ha un codice che lo fa - e lo fa bene.
  3. Pacchi. Alcuni pacchetti in R sono fantastici. Alcuni pacchetti non lo sono. Devi andare a trovarli, valutarli e anche allora ci sono alcuni problemi di leale-fede in quanto il pacchetto è buono solo come il ragazzo che lo scrive. È difficile fidarsi di questo. SAS ha essenzialmente la "piena fiducia e merito del SAS Institute", che ha una storia piuttosto solida.
  4. Supporto a fonte singola. Se SAS è rotto, si chiama SAS. Se R è rotto, chiami ....?

21
"Se R è rotto chiami ....?" Brian Ripley :-) (+1 per questa risposta ben argomentata)
chl

6
Per quanto riguarda 4), penso che ci sia confusione di concetti. Se si utilizza un programma e si interrompe, in genere sono disponibili due opzioni. Puoi pagare per il supporto, oppure puoi cercare supporto disponibile gratuitamente (comunità online, letteratura, te stesso). R e SAS possono essere confrontati come linguaggi di programmazione statistica. Entrambi hanno supporto disponibile gratuitamente, che può anche essere confrontato. R e SAS non possono essere confrontati come soluzioni di supporto a pagamento ...
jthetzel,

7
... SAS Institute fornisce supporto a pagamento per SAS. Aziende come Revolution Analytics e TIBCO (S +) forniscono supporto a pagamento per R. Se si desidera confrontare soluzioni di supporto a pagamento per R e SAS, è necessario confrontare SAS Institute a Revolution Analytics e TIBCO, non R. La confusione, credo, deriva da la stretta integrazione del linguaggio SAS con il SAS Institute e la non integrazione del linguaggio R con il supporto e la formazione aziendale relativi a R.
jthetzel,

3
@jthetzel Non credo sia la sua "confusione". SAS il linguaggio è strettamente associato al servizio SAS. Qualsiasi piattaforma su cui SAS lavora ha il supporto di SAS. Questo non è vero per il supporto R e il linguaggio è disaccoppiato, potrebbe non esserci aiuto per te a seconda della piattaforma (prova a parlare con Revolution qualche volta mentre non usi Windows o RHEL ...) e non si assumeranno necessariamente la responsabilità di Gli errori di RandomPackage, in cui SAS supporterà PROC Arbitrary.
Fomite,

2
@probabilityislogic Penso che sia oltre il doverlo valutare per vedere se è appropriato per la tua analisi. Sì, entrambi potrebbero essere sbagliati ed entrambi devono essere valutati. Ma mi fido del team di controllo qualità SAS più di quanto mi fidi di me, da solo.
Fomite

39

Nessuno ha suggerito che il motivo per cui è preferito sia la semplice idiozia. Ecco due citazioni che ho trovato di recente:

"L'uso di software open source come R era fuori discussione - non potevamo garantire un risultato perfettamente ripetibile"

e

"Non saremmo in grado di fornire alcun supporto per questo in quanto è un software open source"

Due minuti con queste persone avrebbero mostrato loro quanto sbagliano.


3
Due minuti con quali persone? Senza riferimenti è quasi come se avessi appena fatto quelle citazioni.
David Heffernan,

4
la seconda citazione sembra valida da un dipartimento IT del consiglio, non ci si può aspettare che supportino tutti i possibili software open source che un cliente potrebbe usare, da cui l'avvertenza generale. Penso che la peggiore citazione anti open source che ho sentito sia stata da SAS che diceva qualcosa del tipo "ti fideresti di un jumbo jet progettato in open source, un motore potrebbe spegnersi"
PaulHurleyuk,

5
@PaulHurleyuk: +1 La citazione era “Abbiamo clienti che costruiscono motori per aerei. Sono felice che non stanno usando freeware di quando salgo su un aereo “. Da un direttore marketing SAS in questo articolo del New York Times su R . Il rappresentante SAS ha chiarito le sue osservazioni in un successivo post sul blog .
jthetzel,

4
@PaulHurleyuk: Allo stesso modo, non ci si può aspettare che il consiglio supporti qualsiasi software proprietario che il cliente potrebbe voler usare. L'apertura non è la ragione. Se avessero detto che non potevano supportare nulla al di fuori del loro set di software supportato, va bene.
Spacedman

5
Nei due casi che cito, potrebbe esserci una decisione razionale, ma le ragioni fornite non sono chiaramente quelle. Un motivo razionale potrebbe essere "supportiamo già SAS e non possiamo permetterci di supportare due pacchetti di statistiche". Ma "Non possiamo supportarlo perché è open source" non è un sequitur. Le due parti possono essere vere, ma la conclusione non segue. È come dire "Elisabetta è la regina perché il cielo è blu".
Spacedman

23

Una questione non sembra essere stata affrontata in modo esplicito: la copertura del culo. Se vai con SAS e le cose esplodono, il decisore può sempre dire che ha acquistato un software all'avanguardia e come poteva sapere che si sarebbe rotto? Se decidesse di andare con R, questa discussione sarà più difficile da fare. Sì, questo è legato all'argomento inerzia già menzionato qui.

Qualche decennio fa, dicevano che "nessuno ha mai licenziato per aver acquistato IBM" , che è stata definita la più grande frase di marketing di sempre.


2
Sebbene, non sono sicuro di quanto R sia meno all'avanguardia di SAS (e per quanto riguarda molte procedure, ho l'impressione che R sia più all'avanguardia di SAS). La mia ipotesi è che molti utenti SAS non lo sappiano però ...
Patrick Coulombe,

21

Come utente di SAS e R, direi che il motivo principale per cui utilizziamo SAS su R (quando lo facciamo) è la sua capacità di elaborazione sequenziale. Abbiamo solo bisogno di macchine con non più di 4 GB di RAM per elaborare dati di 15 anni. Avrei bisogno di una macchina molto più grande usando lo stock R e non ho provato a migrare il codice SAS per funzionare con Revolution R.


8
+1, anche se vale la pena notare che ci sono alcuni modi per lavorare con set di dati più grandi della memoria in R ( bigmemory , ff , dati in blocco da un database, una vasta gamma di opzioni di elaborazione distribuite). Ma tutto ciò richiede installazione; SAS, infatti, si limiterà a sfuggire a tutto ciò che gli lanci, il che è un vero vantaggio.
Matt Parker,

21

I tempi stanno cambiando

A partire dal 2015, gli attuari di età inferiore ai 35 anni preferiscono usare R - i libri di testo usano sia il codice R che SAS. Gli attuari più vecchi non hanno mai imparato a usare R e preferiscono SAS e non usano R. La percentuale di attuari che effettivamente codifica in SAS diminuirà.

Se cerchi uno studioso di Google per i documenti che fanno riferimento a SAS, negli ultimi anni troverai pubblicazioni costanti di 550 ish all'anno. Se cerchi documenti utilizzando R ("R Foundation for Statistical Computing"), nel 2014 c'erano 25.100 e alla metà di luglio 2015 ci sono 16.700. Tracciare il tasso - sta crescendo molto velocemente!

SAS non si è aiutato per alcuni anni chiedendo grandi tasse di licenza alle università - che hanno da allora invertito - ma ora è troppo tardi molte università si sono convertite all'insegnamento usando R e non SAS.

Nuove tecniche statistiche sono pubblicate in articoli insieme a un pacchetto R. Alcune tecniche che sono state nella base R per anni non sono ancora apparse in SAS. Ora puoi usare R dall'interno di SAS.

In sintesi, le cose stanno cambiando e cambiando rapidamente.


19

Nell'industria farmaceutica SAS viene utilizzato perché è ciò che la FDA usa e piace. Ci sono alcuni motivi seri però. I risultati sono tracciabili e l'output ha un timestamp. Gli statistici della FDA possono controllare ciò che ottieni. È ottimo per la gestione dei database ed è un software affidabile. Naturalmente si può sostenere che molti degli attributi di SAS siano presenti in altri pacchetti software, tra cui R e SAS, è costoso. Penso comunque che chiunque voglia diventare uno statistico applicato che lavora nel settore sarà meglio per almeno imparare a programmare in SAS. Usa R o STATA se preferisci ma conosci SAS. Quando lavori per un'azienda che desidera che tu usi SAS, pagheranno le licenze.


4
Ecco alcune informazioni aggiuntive sul pensiero della FDA in merito a R: blog.revolutionanalytics.com/2012/06/fda-r-ok.html
Matt Parker

4
La Fondazione R ha pubblicato un documento nel 2008 che parla dell'uso della R negli studi clinici regolamentati . Dovrebbe essere un buon riferimento per i collaboratori che sono scettici sull'uso di R.
jthetzel,

2
sono d'accordo che ci sia una mossa per usare R di più nella ricerca clinica e che molti credono che R possa essere reso rintracciabile quanto SAS.
Michael Chernick il

6
La FDA è piuttosto esplicita sul NON approvare o richiedere l'utilizzo di un software. È storicamente vero che la maggior parte degli invii ha usato SAS, quindi la FDA ha molta conoscenza SAS, ma è stata molto veloce ad abbracciare altri sistemi, usando R per parecchi lavori recenti, specialmente per quanto riguarda la meta-analisi.
PaulHurleyuk,

1
@PaulHurleyuk Quello che la FDA dirà pubblicamente e come si comportano nella pratica non è necessariamente lo stesso. La maggior parte delle aziende farmaceutiche si occupano principalmente di studi clinici di fase II e III e generalmente si aspettano che debbano e continueranno a dover utilizzare SAS per l'analisi di tali studi.
Michael Chernick il

18

Penso che questa citazione di Anne H. Milley riassuma il modo in cui molte persone pensano di R:

Abbiamo clienti che costruiscono motori per aeromobili. Sono felice che non stiano usando il freeware quando salgo su un jet.

Sfortunatamente, penso che questo malinteso (gratuito == inferiore) sia comune al grande pubblico.


16

(leggermente fuori tema): osservandolo dall'altra parte: alcuni dei vantaggi che la R ha nel mondo accademico non si applicano all'industria.

Ad esempio, nel mondo accademico è un chiaro vantaggio se puoi dire agli studenti di andare a prendere il software e lavorare a casa. Nell'industria, di solito non dovresti portare a casa i tuoi dati ...

Né dovresti provare alcune cose (TM), scaricare tonnellate di pacchetti (anche se affidabili e testati), utilizzare metodi all'avanguardia. Invece di solito ci si aspetta di attenersi a metodi e codice che sono stati usati per anni e in cui il comportamento è noto da secoli. Con questo non vinceresti molti meriti accademici.

E ovviamente, come è stato menzionato: nessuno rischierà di rifare ogni tipo di approvazione normativa per il passaggio a R. Da quello che ho visto è meno su R e più sugli enormi costi + lavoro per ottenere l'approvazione normativa .


3
Non c'è nulla da fare per ripetere l'approvazione normativa per passare a R.
Frank Harrell,

2
@Frank: forse stiamo pensando a diversi scenari: immagino che tu stia pensando a una nuova prova (e lì hai ragione) - Sto pensando più in termini di analisi di processo (analisi chimica + statistica) di produzione. AFAIK, non puoi semplicemente passare lì l'analisi dei tuoi dati (ma poi non è il paese SAS). Ma potrei sbagliarmi.
cbeleites,

2
Non ho familiarità con quel mondo, ma sospetto che gli scienziati abbiano più libertà di quanto pensino.
Frank Harrell,

13

Sebbene sia abbastanza pessimista, la mia risposta sarebbe che il tipo di persone che prendono decisioni radicali in società come "usiamo semplicemente SAS" sono anche il tipo di persone che non si fidano di ciò che non capiscono e pensano automaticamente il valore di qualcosa è direttamente proporzionale alla quantità di denaro che spendi per esso. Questo li porta a preferire pagare per SAS piuttosto che passare il tempo a indagare sulle alternative.


12

Perché una grande azienda farmaceutica vorrebbe persino convertirsi in R da SAS? SAS costa milioni ma non è niente per un'azienda farmaceutica. Tuttavia, la conversione di tutti i sistemi di reporting stabili da SAS a R costerebbe 50-100 volte di più.

SAS ha un sistema di supporto fenomenale: ogni volta che avevo bisogno di aiuto erano in grado di fornirlo in poche ore.

E cosa esattamente ha R che SAS non: 1) grafica migliore ... ok, è grande ma la grafica non è tutto. inoltre R può sempre essere utilizzato uno strumento aggiuntivo per creare dei grafici accattivanti e SAS non è male quando si tratta di grafica 2) linguaggio di programmazione moderno e più efficiente. Molti utenti SAS non sono programmatori e non si preoccupano di usare un linguaggio cool. Vogliono solo essere in grado di analizzare i dati.

Adoro la R ma sarebbe folle per una grande azienda convertirsi in SAS. Potrebbe avere senso per le piccole imprese però


3
D'accordo con te, @Max. Finalmente una risposta proveniente da qualcuno nel settore. È costoso passare a R.
Dan

3
Questo è falso. Il costo del supporto alla programmazione per SAS è molto più alto di quello per le società R. Assumono schiere di programmatori SAS per compensare il linguaggio arcaico che SAS utilizza.
Frank Harrell,

Sono nel settore e uso entrambi. R può eseguire manipolazioni di dati e, soprattutto, analisi con molte meno righe e quindi può essere sviluppato molto più velocemente. Dirò che alcune compagnie farmaceutiche hanno sviluppato a fondo sistemi SAS per la programmazione normativa che hanno avuto successo. Il punto tiene in considerazione: perché cambiare (a questo punto)? Se lo facessero da zero, forse R invece.
AdamO,

11

Ci sono molti vantaggi principali, in nessun ordine particolare

  • SAS ha una grande base installata e una lunga esperienza

Sto volutamente evitando l'uso di termini peggiorativi come "legacy" o "abitudine". Molte aziende usano SAS da 30 o 40 anni e hanno milioni di righe di codice funzionante. Inoltre, ci sono tutti i vantaggi di una base di codice stabile con milioni di giorni di utenti in un'area in cui piccoli errori possono essere critici. Questo è lo stesso motivo per cui i sapori Unix sono ancora popolari anche se Unix ha più di 40 anni e in qualche modo è obsoleto. Infine, esiste una vasta comunità di professionisti SAS esperti che sono abituati a risolvere i problemi aziendali

  • SAS è adatto per ambienti operativi e dati eterogenei e complessi

Le aziende hanno molte origini dati diverse, basate su diversi tipi di sistemi, nonché in molti casi, ambienti operativi multipli. Solo di recente R ha ottenuto alcune capacità estremamente basilari per gestire più di quanto possa essere tenuto in memoria. Confrontalo con la capacità di SAS di supportare l'elaborazione nativa, ottimizzata e in-database per terradata, per citare solo un esempio. Nella maggior parte delle situazioni del mondo reale, la parte più difficile dell'analisi riguarda i dati e l'ambiente operativo. (è necessario eseguire il codice di valutazione del modello sviluppato da Windows sul mainframe? Con SAS, nessun problema. Con R, sei sfortunato.) R non risolve nessuno di questi problemi.

  • L'utente non deve preoccuparsi di essere "da solo"

Un utente SAS può essere ragionevolmente certo che ogni modulo di codice è stato testato da personale qualificato. Non è necessario dedicare tempo e sforzi all'apprendimento della provenienza del codice o alla sua validazione indipendente. Inoltre, se si incontrano problemi di qualsiasi tipo, assistenza affidabile (da qualcosa di basilare come la documentazione a qualcosa di così completo come l'esplorazione dettagliata di risultati imprevisti o il comportamento di un metodo sofisticato) l'utente può prendere il telefono e ottenere aiuto.

  • È "abbastanza buono"

La lingua disattiva alcune persone perché è diversa dalle lingue moderne per la programmazione generale. Detto questo, il linguaggio è di alto livello, potente, espressivo e comprensivo. In breve, una volta appreso, fa il lavoro. Per le aziende, l'eleganza della soluzione non è molto importante.


2
L'eleganza forse - ma costa? Penso che le aziende se ne occupino!
probabilityislogic

2
R può funzionare su qualsiasi cosa, da un telefono cellulare a un supercomputer a costo zero, e anche a un mainframe, anche a costo zero.
Sean,

9

Servizio Clienti.

Una volta ho avuto una chiacchierata con un amico che lavorava in un'azienda specializzata nell'installazione di server, e poi mi ha spiegato perché le grandi aziende optano sempre per i prodotti Microsoft piuttosto che per andare all'open source. Il vantaggio che Microsoft ha rispetto ai suoi concorrenti open source è l'assistenza clienti. Se qualcosa va storto con il prodotto, la società può chiamare Microsoft, le grandi aziende hanno persino un supporto personalizzato per loro. Non così con il software open source.

Penso che sia esattamente la stessa ragione per cui SAS ha la precedenza su R.


2
rivoluzione R (o altre società)?
Ben Bolker,

4
Penso che questi commenti non siano corretti. Nel mondo dei server, le regole open source e il web server Apache è il web server più popolare.
Frank Harrell,

Non ho mai detto che stesse parlando di server. Piuttosto su prodotti come Microsoft Office. Ho solo detto che sta lavorando nel mondo dei server.
Raskolnikov,

2
Mi ricorda le aziende che usano un sharepoint e un wiki open source. Quasi sempre lo sharepoint è sterile e viene aggiornato solo il wiki.
TLJ

9

E i frontend? Qual è l'equivalente di R per la SAS Enterprise Guide, Web Report Studio o Enterprise Miner? Modifica: questi strumenti consentono a un utente non programmatore di utilizzare un MAGAZZINO DATI, senza conoscere la tecnologia sottostante. Non sono principalmente strumenti per l'uso di SAS in quanto tali. Le GUI R sono solo IDE per il linguaggio / sistema R, AFAIK. Non possono fornire assistenza all'utente non tecnico che desidera ottenere informazioni e approfondimenti dal DWH.


2
È una risposta. Ciò che rende SAS così prezioso per i clienti (come noi) è la facilità d'uso per le persone che non devono scrivere una singola riga di codice.
Kurt,

2
@Kurt, gung non voleva dire che questa non è una risposta, ma piuttosto che la tua risposta non si adatta a questo sito (e in particolare per la domanda attuale, in realtà)
Stéphane Laurent,

Ci sono tonnellate di GUI per R, vedi stats.stackexchange.com/questions/5292/…
naught101

2
Bene, ho lavorato con RStudio. Rispetto alla SAS Enterprise Guide, ha ancora molta strada da fare fino a quando non raggiunge la facilità d'uso per un utente inesperto. Aggiungi il fatto che R manca un equivalente al Metadata Server. E mi manca completamente un equivalente immediato per WRS (forse sono cieco :)). La bellezza di un linguaggio e la produttività che puoi raggiungere non significano quasi nulla per le aziende in cui il 90% dei "clienti" del data warehouse non è in grado di scrivere "Hello World" in nessun ambiente di programmazione. Questo è quello che volevo sottolineare ed è lì che resta molto da fare.
Kurt,

2
Grazie per aver aggiornato la tua risposta, @Kurt. Penso che sarà più utile per i futuri lettori ora. È vero che ci sono offerte point & click e data warehouse per SAS più complete e pronte all'uso rispetto a R. Questo è un punto ragionevole da sollevare. +1
gung

8

Una volta ho lavorato per una società di consulenza che ha fornito assistenza SAS a un grande produttore di chip nella Silicon Valley. Il nostro referente presso l'azienda ci ha detto di aver ricevuto un'offerta da un'altra società per fornire loro la stessa consulenza, utilizzando un software diverso che copre tutte le aree coperte da SAS e che costerebbe all'azienda una frazione di ciò che SAS le stava addebitando ( $ 30.000 contro $ 1.000.000). La persona di contatto ha considerato cosa fare e ha deciso di non informare il proprio capo dell'offerta perché temeva di essere licenziato per aver utilizzato SAS in primo luogo e non prendere in considerazione alternative più economiche. Invece, ha insistito sul fatto che la nostra società di consulenza desse alla loro azienda una grossa interruzione della nostra commissione di consulenza. La nostra compagnia è d'accordo.


1
Quindi il tuo interlocutore non ha potuto argomentare che R è ancora relativamente nuovo rispetto a SAS, e voleva aspettare per assicurarsi che R fosse stabilito prima di usarlo?
probabilityislogic

6

Non credo sia stata menzionata la sicurezza delle applicazioni. Questa domanda è stata sollevata in Stack Overflow ma è stata eliminata poiché era fuori tema.

Collaboro con il Consiglio nazionale svedese per la salute e il benessere che utilizzano SAS. Quando ho parlato con i loro statistici (che come R) affermano che i loro IT preferiscono SAS poiché non si fidano dei pacchetti scaricati in R. Mia moglie lavora anche in SAS e la sua istituzione spesso afferma lo stesso problema ...

Mi piacerebbe vedere alcuni commenti su questo problema. Ho fatto una ricerca veloce ma non ho trovato buoni riferimenti ...


3
Qual è l'alternativa al download di un pacchetto che fornisce nuove funzionalità (come fanno la maggior parte dei pacchetti R)? È a casa far crescere quelle capacità? È più affidabile?
Frank Harrell,

2
@FrankHarrell Sono d'accordo, ma penso che questa possa essere un'area facile per gli sviluppatori R da indirizzare e migliorare. Una soluzione semplice potrebbe essere livelli di sicurezza diversi per i pacchetti: se un pacchetto ha una chiamata di sistema o si connette da solo a Internet, il pacchetto dovrebbe avere un nulla osta più elevato. Ciò potrebbe consentire installazioni con un'autorizzazione di basso livello solo in quegli istituti / società in cui una perdita di dati è di grande preoccupazione. Come utente, potrei anche fare un controllo extra quando scelgo di installare un pacchetto di spazio elevato. (A proposito, quando è in programma il tuo libro (RMS ver 2)?)
Max Gordon,

Spero che la seconda edizione di RMS sarà disponibile tra poco più di un anno.
Frank Harrell,

5

Il motivo per cui ho capito di essere il più convincente è che SAS ha una vasta libreria di moduli specifici di business verticali che le persone in questi verticali usano tutti, quindi è un po 'un lock-in.
Ma anche che SAS ha affrontato le esigenze di questi segmenti verticali negli affari e ottimizzato attorno alle loro esigenze - ottimizzato nel senso di "l'utente non deve fare molto lavoro extra per ottenere i risultati". Non sono un utente SAS, quindi non si tratta di una difesa parziale della strategia aziendale SAS.


4

Essendo il grande prodotto commerciale di SAS, c'è uno sforzo forte e coordinato da parte di venditori pagati per promuoverlo. Non penso che gli sforzi per promuovere l'uso di R possano eguagliarli.


8
Sì, le persone devono scoprire fino a un certo punto R quando sono accese. Ma gran parte del problema deriva dall'inerzia dell'apprendimento di una nuova lingua. Vengono sempre nuove lingue che presentano vantaggi rispetto alle lingue precedenti, ma gli utenti si aggrappano alle vecchie lingue (testimone COBOL). La programmazione in SAS è estremamente inefficiente, che richiede forse il doppio del numero di programmatori per fare lo stesso lavoro di R, ma gli esperti SAS sono felici di canticchiare nel loro modo allegro e le aziende hanno paura del tipo di interruzione che li farebbe risparmiare milioni di dollari negli stipendi.
Frank Harrell,

3

Guardo Open Source o software con licenza come questo, sia esso SAS o qualsiasi altra cosa. Il mio dipartimento IT è lì per fornire un servizio alla nostra attività. La società non guadagna soldi dall'IT, solo dai supporti IT aziendali. L'azienda ha un fatturato annuo di $ 16 miliardi. L'IT costa circa $ 200 milioni all'anno. Se il problema fosse il denaro, ridurrei i costi, ma se risparmiassi il 10% ( $ 20 milioni) del mio budget, l' avrebbero notato gli affari? Ridurranno il mio budget l'anno prossimo? Se l'IT fallisce, l'azienda perde entrate, quanto varia a seconda della natura del fallimento. Alcune parti dell'azienda potrebbero non guadagnare più entrate. Se un prodotto come SAS fallisce, posso fare causa in base a un contratto. Se un prodotto OSS fallisce, non posso. Non recupererò i miei $16 miliardi, ma potrei recuperarne un po ', e realisticamente con SAS, è improbabile che tu perda il lotto. La differenza di prezzo rispetto al costo deve giustificare qualsiasi ulteriore rischio percepito per l'azienda. A volte è più economico restare con SAS che riqualificarsi. A volte ci sono problemi con priorità più alta, quindi le aziende rimangono con SAS. Alcune aziende non necessitano della piena funzionalità, nel qual caso sono possibili alternative. Alcuni non hanno bisogno del supporto e di nuovo le alternative sono praticabili. Se si soddisfano i requisiti aziendali, entrambe le opzioni sono valide, se si desidera fornire supporto a un'azienda, è necessario esaminare il costo totale di proprietà per 5-10 anni, la capacità di assumere esperti negli strumenti, la stabilità del prodotto quindi non devi riscrivere tutto con ogni nuova versione, i corsi di formazione disponibili per le abilità,


4
Non seguo il tuo ragionamento. La quantità di denaro sprecata pagando i programmatori per programmare in un linguaggio arcaico (SAS) rispetto alle moderne lingue libere è sorprendente.
Frank Harrell,

4
@Frank - Non sono d'accordo con la tua caratterizzazione. Un programmatore SAS competente può essere altamente produttivo in SAS e i programmatori SAS competenti sono ampiamente disponibili. Ti concedo che R è strutturato più come un linguaggio moderno, e quindi potrebbe essere più facile da imparare per il programmatore che conosce, diciamo, Java. Nella mia esperienza in molte aziende, la produttività degli sviluppatori che utilizza SAS è raramente un problema materiale.
JBK

9
Avendo usato SAS per 23 anni e S-Plus / R per 22 anni, posso dire che un programmatore SAS di grande esperienza può essere altamente produttivo, ma che un programmatore di esperienza R può essere facilmente tre volte più produttivo.
Frank Harrell,

2
"Posso citare in giudizio sotto contratto" haha - codice errato scritta da parte dei dipendenti è molto più probabile che a causare problemi di qualcosa di SAS o R fa "da solo"
probabilityislogic

1

Alcuni motivi che non ho visto menzionati:

  1. Migliore documentazione. La documentazione SAS è dettagliata, la documentazione R è concisa. Molte aziende potrebbero preferire una documentazione dettagliata.

  2. Messaggi di errore migliori. I messaggi di errore di R sembrano spesso progettati per dimostrare che la persona che scrive il messaggio è più intelligente della persona che lo legge.

  3. Supporto tecnico. SAS ha il miglior supporto tecnico che abbia mai incontrato, fornito da SAS. Puoi ottenere aiuto con R, ma quell'aiuto è sparso in luoghi diversi e non è sempre disponibile. Le persone nei vari siti che forniscono aiuto con R sono volontari e i volontari non sono obbligati ad aiutare. Le persone dell'assistenza tecnica SAS sono pagate per fare ciò che fanno - e lo fanno bene. Non solo lo fanno bene, ma lo fanno educatamente un tratto che spesso non è presente in tutte le comunità R (il mio preferito? "Ho ricevuto aiuto digitando" help ", perché non provi a digitare" help "?")

  4. LATEX


1
Sono sicuro che ci sono aziende che vendono supporto tecnico per R. Ma quanto è bello non ho esperienza!
kjetil b halvorsen,

1

Penso che l'angolo legacy possa essere grande per il seguente motivo. Un'organizzazione assume una persona, chiamala persona X. Sono un guru del computer / mago / ecc. Costruiscono fantastici programmi / strumenti SAS / ecc. Sono così bravi che le altre persone dell'organizzazione non sentono di aver bisogno di capire come funzionano i programmi. Rendono così semplice premere un pulsante e tutto funziona (le magiche scatole nere).

La persona X lascia l'organizzazione. Sfortunatamente, la conoscenza che la persona X ha lasciato l'organizzazione (la gestione della documentazione e della conoscenza non ha avuto la priorità, invece i programmi di lavoro lo erano). Sono sostituiti dalla persona Y. La persona Y è fantastica con R ma non ha idea di SAS, e quindi non ha idea di come funzionano effettivamente i programmi SAS. C'è un'enorme curva di apprendimento per persino capire cosaCTCTè significativamente superiore a una licenza di un anno per SAS. Mi aspetto che SAS farebbe qualche analisi di questo trade off, lasciando che questo influenzi il modo in cui imposta il canone (beh, lo farei se lavorassi in SAS). Si noti inoltre come le procedure di stampa SAS siano molto migliori di circa un decennio fa (ad esempio proc sgplot vs proc plot). coincidenza che R ha fatto bene la prima trama? Penso di no! Questo riduce efficacemente l'efficienza della commutazione perché la stampa non è più così diversa - R è ancora migliore, ma non abbastanza per cambiare ...


0

Per le statistiche industriali, ci sono persone che assicurano la qualità che (di solito) non hanno conoscenze di programmazione, statistiche o scientifiche e che controllano statistici, programmatori e scienziati. Vogliono sapere "Come fai a sapere che quello che stai facendo è giusto?" e "Se è sbagliato, come possiamo incolpare qualcuno e come lo pagheranno?".

La licenza GNU / GPL Copyleft viene fornita con un testo fisso che dice "R è un software gratuito e VIENE ASSOLUTAMENTE NESSUNA GARANZIA" nel testo in maiuscolo esattamente come ho scritto. Questo è scoraggiante. Quando una persona di qualità legge questo testo, fondamentalmente scredita completamente R. Voglio dire, se un prodotto è buono, vale la pena aggiungere una garanzia, giusto? Tali prodotti commerciali ci hanno portato a credere. In effetti, è stato alla fine la FDA a dichiarare che avrebbe accettato le comunicazioni normative in R che riflettevano uno scambio marittimo nel settore del software. (Nota che questa affermazione arriva dopo la data di pubblicazione originale della domanda.)

Per qualcuno che non sa nulla dei computer, gli scenari immaginati di sicurezza, irreproducibilità e gravi errori scientifici sono illimitati a causa di questa ASSOLUTA MANCANZA DI GARANZIA. Siamo tutti d'accordo sul fatto che gli errori possono avere costi catastrofici. Per la tua licenza SAS, SAS ha esperti che possono spiegare i loro software ai revisori e, nell'impossibile scenario in cui SAS effettivamente causa un tale problema, possono essere responsabili di multe e punizioni (hanno anche abbastanza soldi per gli avvocati per assicurarsi che essere completamente prosciolto in tal caso). L'onere e il costo di avere un analista / programmatore presentare questo caso per R equivale sostanzialmente a una licenza SAS. Non che la programmazione in SAS ti esoneri completamente dall'onere schiacciante della conformità di qualità!

Quindi, in sostanza, direi che la litigiosità ha avuto un ruolo di primo piano nella necessità di un costoso software di licenza.

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.