To pytanie dotyczy również Pythona jako stołu roboczego statystyk i przoduje jako stół roboczy statystyk . Wiem, że istnieje ogromna dyskusja na temat Ruby kontra Python, ale nie o to chodzi w tym pytaniu. Pomyślałem, że Ruby jest szybszy od Pythona i ma bardzo naturalną składnię, co może pomóc mi zrozumieć statystyki i może być dobrą alternatywą dla R (co jest również moim zainteresowaniem i zostało cytowane w moim drugim pytaniu dotyczącym R tutaj). Na przykład na jednym z wykładów Google Tech, które widziałem (cytowany tutaj w powiązanym pytaniu, instruktor skarży się, że R jest wolny podczas tworzenia pętli for). Z Ruby jest także Rails, więc być może istniałaby również możliwość połączenia ich obu (Python ma Django, ale znowu nie wchodzę w to).
Pytanie brzmi tak samo, ale dla mojego zainteresowania Ruby:
Co możesz polecić, gdybym chciał użyć Ruby jako „stołu roboczego statystyk” zamiast R, SPSS, Python, Excel itp.?
Co chciałbym zyskać i stracić na podstawie twojego doświadczenia?
Uwaga: rozważam to pytanie w oparciu o poprzednie pytanie w Pythonie i Excelu. Jeśli uważasz, że użycie Ruby i Python (lub Excel) miałoby taki sam wpływ, to powiedz tak i wskaż argumenty dowolnego poprzedniego pytania, celem tego pytania nie jest powtórzenie poprzednich pytań dla tych samych odpowiedzi. Uważam jednak, że istnieją różnice (takie jak szybkość języka i składnia), ale szczególnie chciałbym poznać zalecenia dla Ruby lub jeśli jest na przykład znacznie mniej dostępne dla niego niż powiedzieć dla Python lub Excel. Proszę więc wziąć pod uwagę poprzednie odpowiedzi na te bardzo podobne pytania, ale w innym języku / programie.
Edycja: Tylko dla podkreślenia, ponieważ odpowiedzi wydają się iść w drugą stronę, odpowiedź, której szukałem, jest taka, jak wybrana odpowiedź na pytanie w Pythonie, z którym się łączyłem. To nie o nauce statystyki razem z Ruby. Zrobiłem punkt na pytanie, dowiedzieć się statystyki z badań . Jeśli to możliwe, świetnie, ale nie oczekuję, że będę uczył się statystyki z Ruby w tym samym czasie. Możesz założyć tło statystyczne dla tego pytania.
Odpowiedzi:
Używam Ruby + R.
Możesz przeczytać artykuł: RinRuby: Accessing the R Interpreter from Pure Ruby
http://www.jstatsoft.org/v29/i04/paper
i ten blog:
http://rubyforscientificresearch.blogspot.com
http://sciruby.com/
(autor sciruby jest również użytkownikiem R.)
źródło
ODPOWIEDŹ STARY (WSTĘPNA EDYCJA):
Jeśli myślisz, że nauczysz się statystyki, programując wszystko sam, powiedziałbym, że czeka cię długa myśl pełna debugowania, a nie uczenia się statystyki. Ponadto potrzebujesz języka takiego jak R, aby sprawdzić odpowiedzi mimo to.
Myślę, że user765195 ma rację, ponieważ R jest trudniejszy do debugowania niż wiele innych języków, co jest ważne, ale „najgorsze”? Nie wydaje mi się
EDYTOWAĆ:
Więc jeśli mogę podsumować twoją EDYCJĘ: biorąc pod uwagę, że już robisz statystyki, i biorąc pod uwagę, że naprawdę chcesz użyć Ruby, aby to zrobić zamiast rzeczywistego programu statystycznego (R, gretl, SAS itp.), Jak możesz ułatwić sobie życie . Czy to prawda?
Nie mogę udzielić odpowiedzi Ruby, ale myślę, że należy również odpowiedzieć na ogólne pytanie. Zwłaszcza, że zwracasz uwagę na inne instancje tego samego pytania: „Chciałbym użyć Pythona / perl / java / Clojure / C / cokolwiek do statystyk”.
Myślę, że odpowiedź zawsze będzie brzmiała: „po co używać uogólnionego, prymitywnego (statystycznego) narzędzia, aby wykonać zadanie, które specjalistyczne narzędzie robi znacznie lepiej?” Widzę sześć podstawowych odpowiedzi:
Po prostu nie chcę uczyć się innego języka, a ponieważ jestem dobrze zaznajomiony z Python / Ruby / Excel / Java, nalegam na używanie tego języka.
Statystyki, które chcę wykonać, muszą mieścić się w większym projekcie (takim jak narzędzie internetowe), a narzędzia używane w tym projekcie nie działają dobrze z narzędziami zewnętrznymi, więc muszę używać Python / Ruby / Java. (Lub może to być kwestia wdrożenia aplikacji i nie można spróbować wdrożyć dowolnych plików wykonywalnych.)
Użyłbym specjalistycznego narzędzia, ale te, do których mam dostęp (powiedzmy R, który jest bezpłatny) są zbyt wolne lub nie są w stanie obsłużyć ogromnych zbiorów danych / wymagań w czasie rzeczywistym dla mojego projektu.
Mój pracodawca / klient nalega na używanie języka ogólnego przeznaczenia Python / Ruby / Excel / Java. Nie mam wyboru i szukam najmniej bolesnego sposobu spełnienia tego wymogu.
Przez „statystyki” mam na myśli bardzo proste rzeczy, takie jak znajdowanie środków / median, wariancji itp. Po co korzystać ze specjalistycznego pakietu, który może obliczyć modele z efektem mieszanym za pomocą MCMC, gdy wszystko, co chcę zrobić, to obliczyć, które punkty są poza 1-sigma z dala od średniej?
Robię coś bardzo specjalizowanego, dla którego nawet pakiety statystyczne takie jak R nie mają pakietów / bibliotek / funkcji. Jest nie tylko najnowocześniejszy, ale wymaga bardzo wysokiej wydajności i muszę to zrobić od zera. (A może używam bibliotek, które już opracowałem w języku X.)
Moim zdaniem odpowiedź 1 nie jest dobra, odpowiedź 2 może być zgodna z prawem, ale może zawierać obejścia, których nie znasz, odpowiedź 3 jest bardziej prawdopodobna, ale może również zawierać obejścia, a dla pozostałych trzech odpowiedzi , mam nadzieję, że dostaniesz lepszą odpowiedź niż moja.
źródło
Kilka przypadkowych myśli:
źródło