R vs SAS, dlaczego SAS jest preferowany przez prywatne firmy?


143

Nauczyłem się R, ale wydaje się, że firmy są znacznie bardziej zainteresowane doświadczeniem SAS. Jakie są zalety SAS w stosunku do R?


17
To tragiczne, ale prawda, obawiam się ...
gung

19
Pewien statystyczny lekarz powiedział mi kiedyś, że używają SAS, ponieważ jeśli popełniają błędy z powodu błędów oprogramowania i dochodzi do procesów sądowych, SAS je zrekompensuje. R jest dostarczany bez gwarancji.
Momo,

42
@Momo R jest dostarczany bez gwarancji, to prawda, ale chciałbym zobaczyć informację, że SAS ma taką mocną opinię. Nie mogłem znaleźć tekstu licencji SAS na ich stronie internetowej, ale udało mi się znaleźć coś dla jednego komponentu: support.sas.com/documentation/onlinedoc/sasc/doc650/common/…, który ma 90-dniową gwarancję na media, że oprogramowanie jest dostarczane i zrzeczenie się wszelkich innych gwarancji. Proszę podać odniesienie inne niż „ktoś mi kiedyś powiedział”.
Brian Diggs,

13
To była tylko anegdota, podoba mi się pragmatyczny cynizm komentarza. Ale cieszę się, że sprawdziłeś, nigdy mnie to nie obchodziło.
Momo,

36
SAS jest objęty taką samą gwarancją jak R: brak.
Frank Harrell,

Odpowiedzi:


139

Myślę, że istnieje kilka problemów (w kolejności rosnącej możliwej ważności):

  1. Tradycja / nawyk : ludzie są przyzwyczajeni do SAS i nie chcą się uczyć czegoś nowego. (Utrudniając, sposób myślenia w SAS i R. jest inny.) Może to dotyczyć każdego, kto może być zmuszony wysłać Ci kod lub odczytać / użyć Twojego kodu, w tym menedżerów i współpracowników.
  2. Nieufność do freeware : Miałem kilka osób, które nie chciałyby zaakceptować wyników z R, ponieważ nie masz firmy nastawionej na zysk sprawdzającej kod, aby upewnić się, że daje prawidłowe wyniki, zanim trafi do klientów, aby nie w końcu tracę biznes.
  3. Big data : R wykonuje operacje z całą pamięcią, podczas gdy SAS niekoniecznie. Zatem jeśli twoje dane zbliżą się do granic twojej pamięci, pojawią się problemy.

Osobiście uważam, że nr 3 ma jakąkolwiek uzasadnioną wartość, chociaż istnieją podejścia do dużych zbiorów danych opracowane przy użyciu R. Problemy z numerem 1 mówią same za siebie. Myślę, że nr 2 ignoruje kilka faktów: istnieje pewna weryfikacja, która dotyczy R, wiele głównych pakietów jest napisanych przez jedne z największych nazwisk w statystyce, a były badania, które porównują dokładność różnych programów statystycznych i R ma z pewnością był konkurencyjny.


41
Punkt 1 zyskuje większą wiarygodność, jeśli pod sztandarem bezwładności zostanie również uwzględniona „istniejąca infrastruktura”. Jeśli istnieją istniejące procesy biznesowe, które już korzystają z SAS, oznacza to koszty przejścia ze zmianą. W takim przypadku nie chodzi o wybór między SAS a R, ale wybór między pozostaniem w SAS a przejściem na R, co może mieć inny wniosek.
Brian Diggs,

25
Punkt 2 polega na tym, że chociaż niektóre pakiety R są pisane przez ekspertów, inne nie. Kto za nich kupuje? Kto je testuje? (Wiem, że są testowane pod kątem działania, ale kto sprawdza, czy działają poprawnie?) Wiem, możesz spojrzeć na kod, ale to zakłada czas i zdolność do sprawdzania czyjegoś kodu i jego weryfikacji, często w przypadku metod, które są bardzo złożone.
Peter Flom

18
@PeterFlom, podnosisz rozsądny punkt. Ponieważ paczki stają się coraz bardziej ezoteryczne, jest mniej gwarancji niż w / w podstawowych rzeczy. Ale jak daleko musisz się posunąć? Nawet SEM, który jest dość zaawansowany, został napisany w R przez Johna Foxa. Ponadto StasK ma rację w kwestii weryfikacji oprogramowania statystycznego w praktyce. Wreszcie, R jest znacznie bardziej wszechstronny niż cokolwiek innego, więc jeśli chcesz robić ezoteryczne rzeczy za pomocą innego oprogramowania, przeważnie musisz go sam kodować. Kto gwarantuje dokładność tego kodu?
gung

33
Kto dokładnie weryfikuje kod SAS, Stata, SPSS? Czy jest jakiś sposób, aby dowiedzieć się, czy wyniki, które zapewniają, za pomocą metod, które według nich używają, są rzeczywiście poprawnie zaimplementowane? Wiem z poniższej lme4listy mailingowej, że porównania do SAS pojawiają się dość regularnie. Ale nie wiadomo, czy powinniśmy nawet dokonywać takich porównań. Bez dostępu do źródła musimy przekonać te firmy, że wyniki uzyskane przez ich oprogramowanie są rzeczywiście ważne. Szczerze mówiąc wolę mieć możliwość przeglądania używanego kodu oprogramowania.
Jason Morgan

28
To prawda, ale trudno jest ukarać statystyczny system obliczeniowy za jego kompleksowość. Lub, mówiąc inaczej, sposób R na zrobienie czegoś jest lepszy niż sposób, w jaki inny system tego nie robi.
Frank Harrell,

105

Oprócz dobrych dotychczasowych odpowiedzi dodam czynnik zawstydzenia. Jeśli wydasz w ubiegłym roku setki tysięcy dolarów na wsparcie SAS i SAS i nie zaproponujesz wydawania pieniędzy na R przy wyjątkowo niskich cenach wsparcia (rewolucja itp.), Ktoś z łańcucha zapyta dlaczego. Czy błędem było wydawanie tak dużej ilości pieniędzy w zeszłym roku, kiedy R istniało w zeszłym roku? A może pomyłką jest upuszczenie profesjonalnego oprogramowania do czegoś stworzonego przez grupę wolontariuszy?

Gdy problem zostanie w ten sposób sformułowany, jest to propozycja przegrana, więc być może lepiej go nie omawiać.


47
Jest to być może najbardziej cyniczna odpowiedź przy weryfikacji krzyżowej. +1
prawdopodobieństwo jest

11
@probabilityislogic: Dzięki! Dla jasności jest to raczej komentarz na temat złego zarządzania na wyższym poziomie niż osób korzystających z oprogramowania. Pracowałem w miejscach, w których tak naprawdę była postawa (na wyższych poziomach), „Hmmm… nie wydałeś wszystkich pieniędzy, które budżetowaliśmy dla ciebie w tym roku. Oczywiście możesz zarobić mniej pieniędzy, więc „Obcinam budżet na przyszły rok i dodajesz dodatkowe środki do działu, który nadmiernie wydał”. Zasady Dilberta.
Wayne,

11
„Nie wydałeś pieniędzy ...” - dokładnie tak działał radziecki system planowania, z mojej pierwszej wiedzy.
StasK

5
Ktoś z łańcucha musi wyjaśnić, że za ułamek kosztów licencji SAS możesz zainstalować R Studio Server na maszynie wirtualnej AWS z 16 rdzeniami i 256 GB pamięci RAM - w rękach 2 dobrych programistów R, to więcej potężny niż wszystko, co SAS może zrobić. Pomyśl, jak szybko miliard rekordów można ze sobą dopasować! Lub w tym przypadku nawet Open source PostgreSQL z Python + PERL osiągnie za ułamek ceny.
włóczęga

1
„Czy pomyłką jest upuszczenie profesjonalnego oprogramowania do czegoś stworzonego przez grupę wolontariuszy?” To jest fałszywa dychotomia!
kjetil b halvorsen

54

Na dodatek to, co Gung poprawnie tutaj zidentyfikował, największym problemem w świecie korporacyjnym jest spuścizna. A kiedy masz dobrej jakości kod produkcyjny, o którym wiadomo, że wykonuje zadanie, nie zmieniasz go. SAS istnieje na rynku od lat 70. XX wieku i był wówczas jedynym skutecznym, jak na ówczesne standardy, skryptowym językiem statystycznym. Ilość kodu produkcyjnego zgromadzonego od tego czasu w SAS w farmacji i rządzie jest niewyobrażalna, dziesiątki tysięcy ludzkich lat. Przepisanie tego w języku R lub Stata potrwa kilka lat, a wynikowy kod stanie się bardziej elastyczny, wydajniejszy, bardziej przejrzysty, łatwiejszy i tańszy w utrzymaniu, ale nikt nie zapłaci za takie refaktoryzowanie. (Mam doświadczenie w tym, że mój kod Stata jest na ogół około trzy razy krótszy; kiedyś miałem projekt konwersji kodu SPSS na Stata, w którym uczyniłem go około 20 razy krótszym.

W pewnym sensie jest to podobna historia z wydawcami akademickimi: pływają na fali użytkowników końcowych utrzymujących swoje subskrypcje z konieczności; uniwersytet bez subskrypcji Natury nie jest tak naprawdę uniwersytetem. Bezpłatne publikowanie za pośrednictwem stowarzyszeń zawodowych sprawi, że będzie tańsze, ludzie przygotowują teraz swoje zgłoszenia w LaTeX, więc są gotowi do pracy w aparacie, a te same osoby będą zapewniać wzajemną ocenę, więc nie będzie pogorszenia jakości żadnego z wymiarów. Ale ... nie ma marki i czynnika wpływającego na dzienniki online.

To wszystko podsumowuje: http://scatter.wordpress.com/2011/06/28/stata-12/ . Stata jest preferowana w kręgach ekonomicznych i związanych z polityką, a im więcej się uczę SAS, tym bardziej lubię Statę.


38
SAS ma przerażającą składnię, która zaczęła się od czegoś podobnego do JCL (IBM Job Control Language) do przesyłania zadań wsadowych z kartami perforowanymi w ciągu dnia. To niezwykłe, że ludzie nadal go używają.
Wayne,

6
+1 Szczególnie podobała mi się BlackBerry: iOS: Android: Nokia jako SAS: Stata: R: SPSS analogia w scatterplot.
jthetzel,

6
Wayne, jeśli zastanowiłeś się kiedyś nad stwierdzeniem CARDS, zdajesz sobie sprawę, że SAS to pakiet oprogramowania statystycznego do pracy z kartami dziurkacza. Stata współpracuje z prostokątnymi zestawami danych. R działa z obiektami. Zatem w zależności od tego, z jakim formatem danych masz do czynienia, jeden może być lepszy od innych.
StasK,

3
Ważną kwestią w tym dziedzictwie jest zatwierdzenie przez FDA lub podobne regulacje. Przemysł, z którym rozmawiałem, nie dotknie niczego (TM) po tym, jak to zrobili, aby mieć pewność, że nie będzie musiał przejść przez cały proces ponownie. I to jest duży argument pod względem pieniędzy.
cbeleites,

48

Pracowałem równie skutecznie jako programista SAS przez ostatnie siedem lat, obok mnie współpracownik programuje SAS dłużej niż żyłem. Jak zauważono tutaj, za SAS jest ogromna ilość bezwładności / dziedzictwa; ale SAS, podobnie jak R, jest sposobem na środek, a nie sam środek.

SAS jest niezwykle wydajny w sekwencyjnym dostępie do danych, a dostęp do bazy danych przez SQL jest wyjątkowo dobrze zintegrowany. PROC są bardzo dobrze udokumentowane, ale niestety nie do końca ujednolicone z notacją (PROC OPTMODEL i IML to dwa przykłady). Jest trochę niezdarny, jeśli chodzi o pisanie skomplikowanego kodu, a nie tak elegancki w przypadku kodu równoległego. Zauważyłem też, że importowanie plików csv jest czasem źródłem wielkiej nędzy i wolę po prostu zrzucić je najpierw do R, a potem do bazy danych.

Chociaż SAS ma interfejsy do współdzielonych obiektów i bibliotek dll, nie masz przyjemnego dostępu do żadnych plików nagłówkowych ani nic podobnego, a dystrybucja kodu również nie jest dostępna za pośrednictwem szczęśliwych pakietów.

Istnieje jednak niewielka obawa, że ​​ktoś włączy jakiś ezoteryczny niedziałający lub uszkodzony pakiet do kodu, który należy teraz utrzymywać, a jakość kodu w SAS jest zwykle jednolicie doskonała (kod podstawowy R jest również doskonały, a także swobodnie dostępne dla każdego).

Jak wspomniano wcześniej, SAS jest również bardzo drogie, ale jest to dobre narzędzie, do którego wchodzę, gdy wiem, że istnieje procedura konserwowana, która działa dobrze na moje potrzeby.

R + SAS + mysql z odrobiną perla do ich sklejenia działa niesamowicie :)


11
Uwaga dotycząca utrzymania starych pakietów jest równie dobra w przypadku makra napisanego przez użytkownika lub starego proca, którego sas nie zaktualizował.
probabilityislogic

4
R ma również bardzo dobrą obsługę SQL uzyskaną ostatnio przez dplyrbibliotekę - dosłownie tłumaczy składnię R / dplyr na SQL i wywołuje bazę danych, możesz zdecydować, jakie operacje wykonać na serwerze db, a co lokalnie, używając tej samej składni: cran.r-project. org / web / packages / dplyr / vignettes / databases.html
Tim

41

Używam więc zarówno R, jak i SAS - co prawda w środowisku akademickim - ale jest kilka powodów, dla których czasami zmierzam w kierunku SAS:

  1. Lepsza dokumentacja. R jest w tym coraz lepszy, ale dokumentacja, zwłaszcza dokumentacja oficjalna, jest często okropna i nieprzejrzysta. Poza tym SAS jest obsługiwany przez ogromną infrastrukturę książek - użycie R! seria pomaga to w R, ale jeszcze jej nie ma. Mogę przejść do analizy przeżycia Paula Allisona za pomocą SAS lub analizy danych kategorycznych za pomocą SAS lub książki o metodach Monte Carlo przy użyciu SAS i mam książkę napisaną w dość spójnym stylu dla używanego przeze mnie języka.
  2. Bezwładność. To nie tylko „firmy są leniwe” - bezwładność też ma wartość. Jest wiedza instytucjonalna. Taki i taki ma kod, który to robi - i robi to dobrze.
  3. Pakiety Niektóre pakiety w R są niesamowite. Niektóre pakiety nie są. Musisz je znaleźć, ocenić, a nawet wtedy są pewne problemy z przeskokiem wiary, ponieważ paczka jest tak dobra, jak facet, który ją pisze. Trudno w to uwierzyć. SAS ma zasadniczo „pełną wiarę i uznanie ze strony SAS Institute”, który ma dość solidne osiągnięcia.
  4. Wsparcie z jednego źródła. Jeśli SAS jest zepsuty, dzwonisz do SAS. Jeśli R jest zepsuty, dzwonisz ....?

21
„Jeśli R jest zepsuty, dzwonisz…?” Brian Ripley :-) (+1 za tę dobrze uzasadnioną odpowiedź)
chl

6
Jeśli chodzi o 4), myślę, że istnieje pomieszanie pojęć. Jeśli używasz programu, który się psuje, zazwyczaj masz dwie opcje. Możesz zapłacić za wsparcie lub szukać bezpłatnego wsparcia (społeczność online, literatura, sam). R i SAS można porównać jako statystyczne języki programowania. Oba mają swobodnie dostępne wsparcie, które można również porównać. R i SAS nie mogą być porównywane jako płatne rozwiązania wsparcia ...
jthetzel

7
... SAS Institute zapewnia płatne wsparcie dla SAS. Firmy takie jak Revolution Analytics i TIBCO (S +) zapewniają płatne wsparcie dla R. Jeśli chcesz porównać płatne rozwiązania wsparcia dla R i SAS, powinieneś porównać SAS Institute z Revolution Analytics i TIBCO, a nie R. Zamieszanie, jak sądzę, wynika z ścisła integracja języka SAS z SAS Institute oraz brak integracji języka R z korporacyjnym wsparciem i edukacją związaną z językiem R.
jthetzel

3
@ jthetzel Nie sądzę, że to „zamieszanie”. SAS język jest ściśle powiązany z usługą SAS. Każda platforma, na której działa SAS, ma wsparcie SAS. Nie jest to prawdą w przypadku obsługi R - język jest oddzielony, w zależności od platformy może nie być pomocy (spróbuj porozmawiać z Revolution, gdy nie korzystasz z systemu Windows lub RHEL ...) i niekoniecznie będą oni ponosić odpowiedzialność za Błędy RandomPackage, w przypadku których SAS obsługuje PROC Arbitrary.
Fomite

2
@probabilityislogic Myślę, że nie trzeba go oceniać, aby sprawdzić, czy jest to odpowiednie do Twojej analizy. Tak, oba mogą być błędne i oba wymagają oceny. Ale ufam zespołowi kontroli jakości SAS bardziej niż mi samemu.
Fomite,

39

Nikt nie zasugerował, że powodem, dla którego jest to preferowane, jest prosta idiotyzm. Oto dwa cytaty, które ostatnio spotkałem:

„Korzystanie z oprogramowania typu open source, takiego jak R, nie wchodziło w rachubę - nie mogliśmy zagwarantować idealnie powtarzalnego wyniku”

i

„Nie bylibyśmy w stanie zapewnić żadnego wsparcia, ponieważ jest to oprogramowanie typu open source”

Dwie minuty z tymi ludźmi pokazałyby im, jak bardzo się mylą.


3
Dwie minuty z którymi ludźmi? Bez odniesień wygląda to tak, jakbyś właśnie wymyślił te cytaty.
David Heffernan,

4
drugi cytat wydaje się w porządku z działu IT rady, nie można oczekiwać, że będzie on obsługiwał wszystkie możliwe oprogramowanie open source, z którego mógłby korzystać klient, stąd ogólne ostrzeżenie. Myślę, że najgorszy cytat anty open source, jaki słyszałem, pochodzi od SAS, mówiąc coś w stylu „czy możesz zaufać olbrzymiemu odrzutowcowi zaprojektowanemu w open source, silnik może spaść”
PaulHurleyuk

5
@PaulHurleyuk: +1 Cytat brzmiał: „Mamy klientów, którzy produkują silniki do samolotów. Cieszę się, że nie są one przy użyciu darmowy kiedy się na strumień.”Przez dyrektora marketingu SAS w tym artykule w New York Times na badania . Przedstawiciel SAS wyjaśnił jej uwagi w późniejszym poście na blogu .
jthetzel

4
@PaulHurleyuk: Podobnie nie można oczekiwać, że rada będzie wspierać oprogramowanie zastrzeżone , z którego klient może korzystać. Otwartość nie jest powodem. Jeśli powiedzieliby, że nie mogą obsługiwać niczego poza obsługiwanym zestawem oprogramowania, w porządku.
Spacedman,

5
W dwóch przypadkach, które cytuję, równie dobrze może istnieć racjonalna decyzja, ale podane powody wyraźnie nie są tymi powodami. Racjonalnym powodem może być: „już obsługujemy SAS i nie możemy sobie pozwolić na obsługę dwóch pakietów statystyk”. Ale „Nie możemy tego poprzeć, ponieważ jest to oprogramowanie typu open source”, jest non-sequitur. Dwie części mogą być prawdziwe, ale wniosek nie następuje. To jak powiedzenie „Elizabeth jest królową, ponieważ niebo jest niebieskie”.
Spacedman,

23

Wydaje się, że nie rozwiązano jednoznacznie jednego problemu: zakrywanie tyłków. Jeśli zdecydujesz się na SAS i wszystko się wysadzi, decydent zawsze może powiedzieć, że kupił najnowocześniejsze oprogramowanie i skąd miał wiedzieć, że się zepsuje? Jeśli zdecyduje się na R, ten argument będzie trudniejszy do uzasadnienia. Tak, jest to związane z argumentem bezwładności wspomnianym już tutaj.

Kilkadziesiąt lat temu mówiono, że „noboby kiedykolwiek został zwolniony za kupowanie IBM” , co nazywa się największym zwrotem marketingowym w historii.


2
Chociaż nie jestem pewien, w jaki sposób R jest mniej zaawansowany niż SAS (iw odniesieniu do wielu procedur, mam wrażenie, że R jest bardziej nowoczesny niż SAS). Domyślam się, że wielu użytkowników SAS nie wie o tym ...
Patrick Coulombe

21

Jako użytkownik zarówno SAS, jak i R, powiedziałbym, że największym powodem, dla którego używamy SAS w stosunku do R (kiedy to robimy) jest jego zdolność do sekwencyjnego przetwarzania. Potrzebujemy tylko maszyn z nie więcej niż 4 GB pamięci RAM do przetwarzania danych o wartości 15 lat. Potrzebowałbym znacznie większej maszyny z zapasem R i nie próbowałem migrować kodu SAS, aby działał z Revolution R.


8
+1, chociaż warto zauważyć, że istnieje kilka sposobów pracy z zestawami danych większymi niż pamięć w R ( bigmemory , ff , dzielenie danych z bazy danych, szeroki zakres opcji przetwarzania rozproszonego). Ale wszystko to wymaga konfiguracji; SAS rzeczywiście po prostu wypali wszystko, co w to rzucisz, co jest prawdziwą zaletą.
Matt Parker,

21

Czasy się zmieniają

Od 2015 r. Aktuariusze w wieku poniżej 35 lat wolą używać języka R - podręczniki używają zarówno kodu R, jak i SAS. Starsi aktuariusze nigdy nie nauczyli się używać R i wolą SAS i nie używają R. Odsetek aktuariuszy faktycznie kodujących w SAS spadnie.

Jeśli przeszukujesz Google Scholar, szukając artykułów odnoszących się do SAS - znajdziesz tam stałe 550-miesięczne publikacje rocznie przez kilka ostatnich lat. Jeśli szukasz artykułów przy użyciu R („R Foundation for Statistics Computing”), w 2014 r. Było ich 25 100, a w połowie lipca 2015 r. 16 700. Kreśląc kurs - rośnie bardzo szybko!

SAS nie pomagał sobie przez kilka lat, żądając wysokich opłat licencyjnych od uniwersytetów - które od tego czasu wycofali - ale jest już za późno, wiele uniwersytetów przeszło na nauczanie w języku R, a nie SAS.

Nowe techniki statystyczne są publikowane w artykułach w połączeniu z pakietem R. Niektóre techniki, które były w bazie R od lat, wciąż nie pojawiły się w SAS. Możesz teraz używać R z SAS.

Podsumowując, rzeczy zmieniają się i zmieniają szybko.


19

W przemyśle farmaceutycznym stosuje się SAS, ponieważ jest to, co FDA używa i lubi. Istnieje jednak kilka poważnych powodów. Wyniki są identyfikowalne, a dane wyjściowe mają znacznik czasu. Statystycy FDA mogą sprawdzić, co otrzymujesz. Jest bardzo dobry do zarządzania bazą danych i jest niezawodnym oprogramowaniem. Oczywiście można argumentować, że wiele atrybutów SAS występuje w innych pakietach oprogramowania, w tym R, a SAS jest drogi. Nadal uważam, że każdy, kto chce być statystą stosowanym pracującym w branży, najlepiej będzie przynajmniej nauczyć się programowania w SAS. Użyj R lub STATA, jeśli wolisz, ale znasz SAS. Gdy pracujesz dla firmy, która chce, abyś korzystał z SAS, zapłacą za licencję.


4
Oto kilka dodatkowych informacji na temat sposobu myślenia FDA w odniesieniu do R: blog.revolutionanalytics.com/2012/06/fda-r-ok.html
Matt Parker

4
Fundacja R opublikowała w 2008 r. Artykuł omawiający zastosowanie R w regulowanych badaniach klinicznych . Powinno to stanowić dobre odniesienie dla współpracowników, którzy sceptycznie podchodzą do używania R.
jthetzel

2
Zgadzam się, że istnieje tendencja do wykorzystywania R w badaniach klinicznych i że wielu uważa, że ​​R można uczynić tak samo identyfikowalnym jak SAS.
Michael Chernick,

6
FDA głośno wypowiada się na temat NIE popierania ani wymagania używania jednego oprogramowania. Historycznie to prawda, że ​​większość zgłoszeń korzystała z SAS, więc FDA ma dużą wiedzę na temat SAS, ale bardzo szybko przyjęli inne systemy, wykorzystując R do dość dużej ilości ostatnich prac, szczególnie w zakresie analizy meta.
PaulHurleyuk

1
@PaulHurleyuk To, co FDA powie publicznie i jak działają w praktyce, niekoniecznie jest takie samo. Większość firm farmaceutycznych zajmuje się przede wszystkim badaniami klinicznymi fazy II i III i ogólnie oczekują, że będą musiały i będą nadal korzystać z SAS do analizy tych badań.
Michael Chernick,

18

Myślę, że ten cytat Anne H. Milley podsumowuje sposób, w jaki wielu ludzi myśli o R:

Mamy klientów, którzy budują silniki do samolotów. Cieszę się, że nie używają darmowego oprogramowania, kiedy wsiadam do samolotu.

Niestety, myślę, że to nieporozumienie (darmowe == gorsze) jest powszechne wśród ogółu społeczeństwa.


16

(nieco poza tematem): patrząc na to z drugiej strony: niektóre zalety R w środowisku akademickim nie dotyczą przemysłu.

Na przykład w środowisku akademickim wyraźną zaletą jest to, że możesz powiedzieć uczniom, aby poszli po oprogramowanie i pracowali w domu. W przemyśle zwykle nie powinieneś zabierać ze sobą żadnych danych ...

Nie powinieneś też wypróbowywać kilku rzeczy (TM), pobierać ton pakietów (nawet jeśli są sprawdzone i sprawdzone), stosować najnowocześniejsze metody. Zamiast tego zwykle oczekuje się, że będziesz trzymać się metod i kodu, które były używane od lat i gdzie zachowanie jest znane od wieków. Dzięki temu nie zdobyłbyś wielu zasług naukowych.

I oczywiście, jak już wspomniano: nikt nie będzie ryzykować ponownym zatwierdzeniem wszelkiego rodzaju regulacji w celu przejścia na R. Z tego, co widziałem, mniej mówi się o R, a więcej o ogromnych kosztach + pracach związanych z uzyskaniem zgody przez regulatora .


3
Nic nie trzeba zrobić, aby powtórzyć zatwierdzenie regulacyjne w celu przejścia na R.
Frank Harrell

2
@Frank: może myślimy w różnych scenariuszach: Myślę, że prawdopodobnie myślisz o nowej próbie (i masz rację) - myślę bardziej w zakresie analizy procesów (analiza chemiczna + analiza statystyczna) trwających produkcja. AFAIK, nie możesz po prostu zmienić tam analizy danych (ale wtedy to nie jest kraj SAS). Ale mogę się mylić.
cbeleites,

2
Nie znam tego świata, ale podejrzewam, że naukowcy mają więcej swobody, niż im się wydaje.
Frank Harrell,

13

Chociaż jest to dość pesymistyczne, moja odpowiedź brzmiałaby, że ludzie, którzy podejmują zdecydowane decyzje w korporacjach, takie jak „po prostu używamy SAS”, są również ludźmi, którzy nie ufają temu, czego nie rozumieją, i automatycznie myślą o wartości czegoś jest wprost proporcjonalne do kwoty pieniędzy, które wydajesz na to. To sprawia, że ​​wolą płacić za SAS, niż spędzać czas na szukaniu alternatyw.


12

Dlaczego duża firma farmaceutyczna miałaby w ogóle chcieć przestawić się na R z SAS? SAS kosztuje miliony, ale dla firmy farmaceutycznej to nic. Jednak konwersja wszystkich stabilnych systemów raportowania z SAS na R kosztowałaby 50-100 razy więcej.

SAS ma fenomenalny system wsparcia: za każdym razem, gdy potrzebowałem pomocy, byli w stanie udzielić jej w ciągu kilku godzin.

A co dokładnie ma R, że SAS nie: 1) lepsza grafika ... ok, jest duża, ale grafika to nie wszystko. poza tym zawsze można użyć dodatkowego narzędzia do tworzenia fajnych wykresów, a SAS nie jest taki zły, jeśli chodzi o grafikę 2) nowoczesny i bardziej wydajny język programowania. Wielu użytkowników SAS nie jest programistami i nie obchodzi ich używanie fajnego języka. Chcą tylko móc analizować dane.

Uwielbiam R, ale dla dużej firmy przejście na SAS byłoby szalone. Może to mieć sens dla mniejszych firm


3
Zgadzam się z tobą, @Max. Wreszcie odpowiedź pochodząca od kogoś z branży. Kosztowne jest przejście na R.
Dan

3
To nieprawda. Koszt wsparcia programistycznego dla SAS jest znacznie wyższy niż dla R. Firmy wynajmują zasoby programistów SAS, aby nadrobić archaiczny język, którego używa SAS.
Frank Harrell

Jestem w branży i używam obu. R może wykonywać manipulacje danymi i, co ważniejsze, analizować z dużo mniejszą liczbą wierszy, a zatem może być opracowany znacznie szybciej. Powiem, że niektóre firmy farmaceutyczne dokładnie opracowały systemy SAS do programowania regulacyjnego, które odniosły sukces. Należy wziąć pod uwagę: po co zmieniać (w tym momencie)? Jeśli robili to od zera, może zamiast tego R.
AdamO

11

Istnieje kilka głównych zalet, w żadnej kolejności

  • SAS ma dużą zainstalowaną bazę i długą historię

Celowo unikam używania pejoratywnych terminów, takich jak „starsze” lub „przyzwyczajenie”. Wiele firm używa SAS od 30 lub 40 lat i ma miliony wierszy działającego kodu. Ponadto istnieją wszystkie zalety stabilnej bazy kodu z milionami dni użytkowników w obszarze, w którym małe błędy mogą być krytyczne. Jest to ten sam powód, dla którego smaki uniksowe są nadal popularne, mimo że uniksowy ma ponad 40 lat i jest pod pewnymi względami przestarzały. Wreszcie istnieje duża społeczność doświadczonych specjalistów SAS, którzy są przyzwyczajeni do rozwiązywania problemów biznesowych

  • SAS doskonale nadaje się do heterogenicznych, złożonych danych i środowisk operacyjnych

Firmy mają wiele różnych źródeł danych, opartych na różnych typach systemów, a także w wielu przypadkach, na wielu środowiskach operacyjnych. Dopiero niedawno R zyskał bardzo podstawowe możliwości radzenia sobie z czymś więcej, niż można zachować w pamięci. Porównaj to ze zdolnością SAS do obsługi natywnego, zoptymalizowanego przetwarzania danych terradanych w bazie danych, aby przytoczyć tylko jeden przykład. W większości rzeczywistych sytuacji najtrudniejsza część analizy dotyczy danych i środowiska operacyjnego. (musisz uruchomić kod oceniający model opracowany w systemie Windows na komputerze mainframe? Z SAS nie ma problemu. Z R nie masz szczęścia.) R nie rozwiązuje żadnego z tych problemów.

  • Użytkownik nie musi się martwić, że będzie „sam”

Użytkownik SAS może mieć pewność, że każdy moduł kodu został przetestowany przez wykwalifikowane osoby. Nie trzeba poświęcać czasu i wysiłku na naukę pochodzenia kodu lub jego samodzielną weryfikację. Ponadto w przypadku napotkania jakichkolwiek problemów, niezawodna pomoc (od czegoś tak podstawowego jak dokumentacja do czegoś tak kompleksowego jak szczegółowe badanie nieoczekiwanych wyników lub zachowanie wyrafinowanej metody) użytkownik może odebrać telefon i uzyskać pomoc.

  • Jest wystarczająco dobre"

Język wyłącza niektóre osoby, ponieważ różni się od współczesnych języków programowania ogólnego. Powiedziawszy to, język jest wysoki, mocny, wyrazisty i wszechstronny. Krótko mówiąc, kiedy się go nauczysz, wykona zadanie. Dla firm elegancja rozwiązania nie jest zbytnią zaletą.


2
Elegancja może - ale kosztować? Myślę, że firmom zależy na tym!
Prawdopodobieństwo

2
R może działać na dowolnym urządzeniu, od telefonu komórkowego po superkomputer przy zerowym koszcie, a także na komputerze mainframe, również przy zerowym koszcie.
Sean

9

Obsługa klienta.

Kiedyś rozmawiałem z przyjacielem pracującym w firmie specjalizującej się w instalowaniu serwerów, a następnie wyjaśnił mi, dlaczego duże firmy zawsze wybierają produkty Microsoft, a nie otwarte oprogramowanie. Przewagą Microsoft nad konkurencją typu open source jest obsługa klienta. Jeśli coś pójdzie nie tak z produktem, firma może zadzwonić do Microsoft, duże firmy mają nawet spersonalizowane wsparcie. Nie w przypadku oprogramowania typu open source.

Myślę, że to jest dokładnie ten sam powód, dla którego SAS ma pierwszeństwo przed R.


2
rewolucja R (lub inne firmy)?
Ben Bolker,

4
Myślę, że te komentarze są nieprawidłowe. W świecie serwerów reguły open source, a serwer WWW Apache jest najpopularniejszym serwerem WWW.
Frank Harrell,

Nigdy nie mówiłem, że mówił o serwerach. Raczej o produktach takich jak Microsoft Office. Wspomniałem tylko, że pracuje w świecie serwerów.
Raskolnikov,

2
Przypomina mi o firmach korzystających z sharepointa i wiki typu open source. Prawie zawsze punkt podziału jest niepłodny i aktualizowana jest tylko wiki.
TLJ 16.12.13

9

Co z Frontendami? Jaki jest odpowiednik R dla SAS Enterprise Guide, Web Report Studio lub Enterprise Miner? Edycja: Narzędzia te umożliwiają użytkownikowi niebędącemu programem korzystanie z MAGAZYNU DANYCH, bez wiedzy na temat podstawowej technologii. Nie są to przede wszystkim narzędzia do korzystania z SAS jako takiego. GUI R to tylko IDE dla języka / systemu R, AFAIK. Nie mogą zapewnić pomocy nietechnicznemu użytkownikowi, który chce uzyskać informacje i wgląd od DWH.


2
To jest odpowiedź. To, co sprawia, że ​​SAS jest tak cenny dla klientów (takich jak my), to łatwość obsługi dla osób, które nie muszą pisać ani jednego wiersza kodu.
Kurt

2
@Kurt, gung nie chciał oznaczać, że to nie jest odpowiedź, ale raczej, że twoja odpowiedź nie pasuje do tej strony (a zwłaszcza w przypadku obecnego pytania)
Stéphane Laurent,

Istnieje wiele GUI dla R, patrz stats.stackexchange.com/questions/5292/...
naught101

2
Pracowałem z RStudio. W porównaniu do SAS Enterprise Guide, jest jeszcze bardzo długa droga, zanim osiągnie łatwość użytkowania dla początkujących użytkowników. Dodaj fakt, że R brakuje odpowiednika serwera metadanych. I zupełnie brakuje mi gotowego odpowiednika WRS (może jestem ślepy :)). Piękno języka i produktywność, którą można osiągnąć, oznacza prawie nic dla firm, w których 90% „klientów” hurtowni danych nie mogło napisać „Hello World” w żadnym środowisku programistycznym. Właśnie to chciałem wskazać i na tym pozostało wiele pracy.
Kurt

2
Dziękujemy za aktualizację odpowiedzi, @Kurt. Myślę, że teraz będzie bardziej przydatny dla przyszłych czytelników. Prawdą jest, że istnieją oferty typu „wskaż i kliknij” i hurtowni danych dla SAS, które są bardziej wszechstronne i gotowe do użycia od razu po wyjęciu z pudełka. Jest to rozsądny punkt do podniesienia. +1
gung

8

Kiedyś pracowałem dla firmy konsultingowej, która udzieliła pomocy SAS dużemu producentowi układów scalonych w Dolinie Krzemowej. Nasza osoba kontaktowa w firmie powiedziała nam, że dostał ofertę innej firmy, aby udzielić jej dokładnie takiego samego doradztwa, używając innego oprogramowania, które obejmuje wszystkie obszary objęte SAS i który kosztowałby ułamek tego, co SAS naliczył ( 30 000 USD w porównaniu do 1 000 000 USD ). Osoba kontaktowa rozważyła, co należy zrobić, i postanowiła nie informować swojego szefa o ofercie, ponieważ obawiał się przede wszystkim zwolnienia za korzystanie z SAS i nie rozważanie tańszych alternatyw. Zamiast tego nalegał, aby nasza firma konsultingowa dała swojej firmie dużą przerwę w opłatach konsultacyjnych. Nasza firma się zgodziła.


1
Twoja osoba kontaktowa nie mogła więc wysunąć argumentu, że R jest wciąż stosunkowo nowy w porównaniu do SAS, i chciał poczekać, aby upewnić się, że R został ustalony, zanim go użyje?
prawdopodobieństwo prawdopodobieństwo

6

Nie sądzę, że wspomniano o bezpieczeństwie aplikacji. To pytanie zostało podniesione w przepełnieniu stosu, ale zostało odrzucone, ponieważ było nie na temat.

Współpracuję ze Szwedzką Narodową Radą Zdrowia i Opieki Społecznej, która korzysta z SAS. Kiedy rozmawiałem z ich statystykami (takimi jak R), twierdzą, że ich informatycy wolą SAS, ponieważ nie ufają pakietom pobranym w R. Moja żona również pracuje w SAS, a jej instytucja często twierdzi ten sam problem ...

Bardzo chciałbym zobaczyć komentarze na ten temat. Przeprowadziłem szybkie wyszukiwanie, ale nie znalazłem żadnych dobrych referencji ...


3
Jaka jest alternatywa dla pobierania pakietu, który zapewnia nowe możliwości (podobnie jak większość pakietów R)? Czy to w domu rozwijać te możliwości? Czy to jest bardziej niezawodne?
Frank Harrell,

2
@FrankHarrell Zgadzam się, ale myślę, że może to być łatwy obszar dla deweloperów R, aby celować i ulepszać. Prostym rozwiązaniem mogą być różne poziomy bezpieczeństwa dla pakietów - jeśli pakiet ma wywołanie systemowe lub łączy się z Internetem samodzielnie, pakiet powinien mieć wyższy poziom zwolnienia. Mogłoby to pozwolić instalacjom posiadającym jedynie zezwolenie na niskim poziomie w tych instytucjach / przedsiębiorstwach, w których wyciek danych jest poważnym problemem. Jako użytkownik mogłem również przeprowadzić dodatkową kontrolę, gdy zdecyduję się zainstalować pakiet o wysokim prześwicie. (Przy okazji, kiedy zaplanowana jest twoja książka (RMS wersja 2)?)
Max Gordon,

Mam nadzieję, że druga edycja RMS będzie dostępna za nieco ponad rok.
Frank Harrell,

5

Powodem, dla którego zrozumiałem, że jest najbardziej przekonujący, było to, że SAS ma obszerną bibliotekę modułów pionowych specyficznych dla biznesu, z których wszyscy ludzie w tych branżach korzystają, więc jest to coś w rodzaju blokady.
Ale także, że SAS uwzględnił potrzeby tych pionowych segmentów biznesowych i zoptymalizował je pod kątem ich potrzeb - zoptymalizowany w sensie „użytkownik nie musi wykonywać dodatkowej pracy, aby uzyskać wyniki”. Nie jestem użytkownikiem SAS, więc nie jest to stronnicza obrona strategii biznesowej SAS.


4

Będąc wielkim produktem komercyjnym, jakim jest SAS, istnieje duży i skoordynowany wysiłek opłacanych sprzedawców, aby go promować. Nie sądzę, że wysiłki mające na celu promowanie użycia R mogą się z nimi równać.


8
Tak, ludzie muszą do pewnego stopnia odkryć R na swoim. Ale duża część problemu sprowadza się do bezwładności uczenia się nowego języka. Zawsze pojawiają się nowe języki, które mają przewagę nad starszymi językami, ale użytkownicy trzymają się starych języków (świadek COBOL). Programowanie w SAS jest niezwykle nieefektywne, wymagając być może podwójnej liczby programistów wykonujących tę samą pracę co R, ale eksperci SAS chętnie nucą na wesoło, a firmy obawiają się tego rodzaju zakłóceń, które pozwoliłyby im zaoszczędzić miliony dolarów w wynagrodzeniach.
Frank Harrell

3

Patrzę na oprogramowanie typu Open Source lub licencjonowane oprogramowanie, czy to SAS, czy cokolwiek innego. Mój dział IT jest tam, aby świadczyć usługi dla naszej firmy. Firma nie zarabia na IT, tylko na biznesowym wsparciu IT. Firma osiąga roczne przychody w wysokości 16 miliardów dolarów. Kosztuje około $ 200 milionów rocznie. Jeśli pieniądze była kwestia chciałbym obniżyć koszty, ale jeśli mogę zaoszczędzić 10% ( $ 20 mln) mojego budżetu, będzie zawiadomienie firmy? Czy po prostu zmniejszą mój budżet w przyszłym roku? Jeśli IT nie powiedzie się, firma traci przychód, ile będzie różnić się w zależności od charakteru awarii. Część firmy nie może już zarabiać. Jeśli produkt taki jak SAS zawiedzie, mogę pozwać na podstawie umowy. Jeśli produkt OSS ulegnie awarii, nie mogę. Nie odzyskam moich $16 miliardów, ale mogę trochę odzyskać i realistycznie w przypadku SAS raczej nie stracisz dużo. Różnica w cenie w stosunku do kosztów musi uzasadniać wszelkie dodatkowe postrzegane ryzyko dla firmy. Czasami taniej jest trzymać się SAS niż przekwalifikować się. Czasami występują problemy o wyższym priorytecie, więc firmy pozostają przy SAS. Niektóre firmy nie potrzebują pełnej funkcjonalności, w którym to przypadku alternatywy są opłacalne. Niektóre nie potrzebują wsparcia i znowu alternatywy są opłacalne. Jeśli spełniasz wymagania biznesowe, obie opcje są ważne, jeśli chcesz zapewnić wsparcie dla firmy, musisz spojrzeć na całkowity koszt posiadania w ciągu 5-10 lat, możliwość rekrutacji ekspertów w zakresie narzędzi, stabilność produktu więc nie musisz przepisywać wszystkiego przy każdym nowym wydaniu, dostępnych szkoleniach,


4
Nie podążam za twoim rozumowaniem. Ilość pieniędzy, które zmarnowali płacący programiści na programowanie w języku archaicznym (SAS) w porównaniu do współczesnych wolnych języków jest oszałamiająca.
Frank Harrell,

4
@Frank - Nie mogę się zgodzić z twoją charakterystyką. Kompetentny programista SAS może być bardzo produktywny w SAS, a kompetentni programiści SAS są szeroko dostępni. Przyznaję, że R ma strukturę bardziej podobną do nowoczesnego języka, a zatem może być łatwiejszy do nauczenia dla programisty znającego, powiedzmy, Javę. Z mojego doświadczenia w wielu firmach wynika, że ​​produktywność programistów korzystających z SAS rzadko stanowi istotny problem.
JBK

9
Korzystając z SAS od 23 lat i S-Plus / R od 22 lat, mogę powiedzieć, że bardzo doświadczony programista SAS może być bardzo produktywny, ale doświadczony programista R może być trzy razy bardziej produktywny.
Frank Harrell,

2
„Mogę pozwać na podstawie umowy” haha ​​- niepoprawny kod napisany przez pracowników jest znacznie bardziej prawdopodobny, że powoduje problemy, niż coś, co SAS lub R robi „samodzielnie”
prawdopodobieństwo

1

Niektóre powody, o których nie widziałem, wspomniane:

  1. Lepsza dokumentacja. Dokumentacja SAS jest pełna, dokumentacja R jest zwięzła. Wiele firm może preferować pełną dokumentację.

  2. Lepsze komunikaty o błędach. Komunikaty o błędach R często wydają się mieć na celu udowodnienie, że osoba pisząca wiadomość jest mądrzejsza niż osoba ją czytająca.

  3. Wsparcie techniczne. SAS ma jedne z najlepszych rozwiązań technicznych, na jakie się natknąłem, dostarczane przez SAS. Możesz uzyskać pomoc dotyczącą R, ale ta pomoc jest rozproszona w różnych miejscach i nie zawsze jest dostępna. Ludzie na różnych stronach, które udzielają pomocy z R, są wolontariuszami - a wolontariusze nie są zobowiązani do pomocy. Pracownicy działu pomocy technicznej SAS otrzymują wynagrodzenie za robienie tego, co robią - i robią to dobrze. Nie tylko robią to dobrze, ale robią to grzecznie cechę, która często nie występuje we wszystkich społecznościach R (moja ulubiona? „Dostałem pomoc, wpisując„ pomoc ”, dlaczego nie spróbujesz wpisać„ pomoc ”?)

  4. LATEX


1
Jestem pewien, że są firmy, które sprzedają wsparcie techniczne dla R. Ale jak dobrze to nie mam doświadczenia!
kjetil b halvorsen

1

Myślę, że kąt dziedzictwa może być duży z następującego powodu. Organizacja zatrudnia osobę, nazywaj ją osobą X. Są guru / czarodziejem / itp. Budują niesamowite programy / narzędzia / etc SAS. Są tak dobrzy, że inni ludzie w organizacji nie czują, że muszą zrozumieć, jak działają programy. Dzięki temu wystarczy nacisnąć przycisk, a wszystko po prostu działa (magiczne czarne skrzynki).

Osoba X opuszcza organizację. Niestety wiedza, że ​​osoba X opuściła organizację (dokumentacja i zarządzanie wiedzą nie były traktowane priorytetowo, zamiast tego działały programy robocze). Zastępuje je osoba Y. Osoba Y jest świetna dla R, ale nie ma pojęcia o SAS, a zatem nie ma pojęcia o tym, jak faktycznie działają programy SAS. Istnieje ogromna krzywa uczenia się, aby nawet dowiedzieć się, coCTCTjest znacznie wyższa niż roczna licencja dla SAS. Oczekuję, że SAS przeprowadziłby analizę tego kompromisu i pozwoliłby, aby wpłynęło to na sposób ustalania opłaty licencyjnej (cóż, zrobiłbym to, gdybym pracował w SAS). Zauważ też, że procedury kreślenia SAS są znacznie lepsze niż dziesięć lat temu (np. Proc sgplot vs proc plot). zbiegiem okoliczności, że R najpierw dobrze spisał się? Myślę, że nie! To skutecznie zmniejsza efektywność przełączania, ponieważ wykreślanie nie jest już tak różne - R jest jeszcze lepszy, ale niewystarczający do przełączenia ...


0

W przypadku statystyki przemysłowej istnieją osoby zapewniające jakość, które (zwykle) nie mają doświadczenia w programowaniu, statystyce ani nauce, i które kontrolują statystyk, programistów i naukowców. Chcą wiedzieć: „Skąd wiesz, że to, co robisz, jest właściwe?” i „Jeśli to źle, jak możemy kogoś winić i jak za to zapłacą?”.

Licencja GN Copyleft na GNU / GPL zawiera tekst w puszce z napisem: „R jest wolnym oprogramowaniem i NIE MA absolutnie żadnej gwarancji” w tekście wielkimi literami dokładnie tak, jak napisałem. To obrzydliwe. Kiedy wysokiej jakości osoba czyta ten tekst, zasadniczo dyskredytuje R. Mam na myśli, że jeśli produkt jest dobry, warto dodać gwarancję, prawda? Takie produkty komercyjne skłoniły nas do uwierzenia. W rzeczywistości to FDA powiedziała, że ​​zaakceptuje wnioski regulacyjne w R, które odzwierciedlają pewną zmianę w branży oprogramowania. (Uwaga: to oświadczenie następuje po pierwotnej dacie opublikowania pytania).

Dla kogoś, kto nie wie nic o komputerach, wymyślone scenariusze bezpieczeństwa, nieodtwarzalności i poważnych błędów naukowych są nieograniczone w wyniku tego ABSOLUTNIE BRAKU GWARANCJI. Wszyscy zgadzamy się, że błędy mogą mieć katastrofalne koszty. W przypadku Twojej licencji SAS, SAS ma ekspertów, którzy mogą wyjaśnić swoje oprogramowanie audytorom, aw niemożliwym scenariuszu, w którym SAS faktycznie powoduje taki problem, mogą oni być odpowiedzialni za grzywny i kary (mają także wystarczającą ilość pieniędzy dla prawników, aby upewnić się, że w takim przypadku zostać całkowicie zwolnionym). Ciężar i koszt związane z przedstawieniem tej sprawy przez R analityka / programisty w zasadzie sprowadza się do licencji SAS. Nie to, że programowanie w SAS całkowicie zwalnia cię z miażdżącego ciężaru zgodności z jakością!

Zasadniczo powiedziałbym, że spory odegrał znaczącą rolę w potrzebie kosztownego oprogramowania licencyjnego.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.