Kiedy uczyłem statystyki na poziomie absolwenta, mówiłem moim studentom: „Nie dbam o to, jakiego pakietu używasz, i możesz wykorzystać wszystko do odrabiania lekcji, ponieważ oczekuję, że dostarczysz merytorycznych wyjaśnień i odejdę, jeśli widzieć tr23y5m
nazwy zmiennych w twoich zgłoszeniach. Mogę wesprzeć twoją naukę bardzo dobrze w Stacie i dość dobrze w R. Dzięki SAS jesteś sam, jak twierdzisz, że wziąłeś na nim kurs. Z SPSS lub Minitab, niech Bóg cię błogosławi ". Wyobrażam sobie, że rozsądni pracodawcy pomyśleliby tak samo. Liczy się twoja produktywność pod względem wyników projektu. Jeśli możesz osiągnąć cel w R przy 40 godzinach pracy, dobrze, jeśli możesz to osiągnąć w C ++ w 40 godzin pracy, dobrze; jeśli wiesz, jak to zrobić w R w 40 godzin, ale twój przełożony chce, abyś to zrobił w SAS, i musisz poświęcić 60 godzin na naukę podstaw i gdzie idą średniki, może to być mądre tylko w kontekście dużego obrazu reszty kodu w SAS ... a wtedy menedżer nie był zbyt mądry, wynajmując programistę R.
Z tej perspektywy całkowitego kosztu „darmowy” R jest niezwykle przesadzonym mitem. Każdy poważny projekt wymaga niestandardowego kodu, choćby do wprowadzania danych i formatowania danych wyjściowych, a to niezerowy koszt profesjonalnego czasu. Jeśli takie wprowadzanie danych i formatowanie wymaga 10 godzin kodu SAS i 20 godzin kodu R, R jest droższym oprogramowaniem na marginesie , jak powiedziałby ekonomista, tj. Pod względem dodatkowego kosztu wytworzenia danego elementu funkcjonalności . Jeśli duży projekt wymaga 200 godzin czasu programisty R i 100 godzin czasu programisty Stata, aby zapewnić identyczną funkcjonalność, Stata jest ogólnie tańsza, nawet uwzględniając licencję ~ 1 000 USD, którą musisz kupić. Byłoby interesujące zobaczyć takie bezpośrednie porównania; Byłem zaangażowany w przepisywanie ogromnego bałaganu 2 MB kodu SPSS, który, jak się mówi, gromadził się przez około 10 osobolat w około 150 000 kodu Stata, który działał tak szybko, może być odrobinę szybszy; to był około 1 projekt na rok. Nie wiem, czy ten współczynnik wydajności 10: 1 jest typowy dla porównań SPSS: Stata, ale nie byłbym zaskoczony, gdyby tak było. Dla mnie praca z R jest zawsze dużym wydatkiem ze względu na koszty wyszukiwania: muszę ustalić, który z pięciu pakietów o podobnych nazwach robi to, co muszę zrobić, i ocenić, czy jest wystarczająco niezawodny, aby użyć go w moja praca. Często oznacza to, że taniej jest dla mnie napisać własny kod Stata w krótszym czasie, niż spędziłbym zastanawiając się, jak sprawić, by R działał w danym zadaniu. Należy rozumieć, że jest to moja osobista osobliwość; większość ludzi na tej stronie lepiej korzysta zR niż ja.
Zabawne, że twój prof wolałby Statę lub GAUSS od R, ponieważ „R nie zostało napisane przez ekonomistów”. Ani Stata, ani GAUSS; są napisane przez informatyków używających narzędzi informatycznych. Jeśli twój profesor ma pomysły na programowanie z CodeAcademy.com, to jest lepsze niż nic, ale tworzenie oprogramowania klasy profesjonalnej różni się tak samo od pisania w polu tekstowym CodeAcademy.com, jak jazda ciężarówką różni się od jazdy rowerem. (Stata został jednak założony przez przekształconego informatyka ekonometrycznego z pracy, ale nie zajmuje się tą ekonometrią pracy od około 25 lat).
Aktualizacja : Jak skomentował poniżej AndyW, możesz napisać okropny kod w dowolnym języku. Następnie pojawia się pytanie o koszt, który język jest łatwiejszy do debugowania. Dla mnie wygląda to na połączenie tego, jak dokładne i pouczające jest wyjście, oraz jak łatwa i przejrzysta jest sama składnia, i oczywiście nie mam na to dobrej odpowiedzi. Na przykład Python wymusza wcięcia kodu, co jest dobrym pomysłem. Kod Stata i R można złożyć w nawiasach, co nie będzie działać z SAS. Użycie podprogramów jest mieczem obosiecznym: użycie *apply()
z ad-hoc function
s w R jest oczywiście bardzo wydajne, ale trudniejsze do debugowania. Podobnym tokenem Stata local
może maskować prawie wszystko, a domyślna wartość pustego łańcucha, chociaż przydatna, może również prowadzić do trudnych do uchwycenia błędów.