Nauka R. Od czego się zaczyna? [zamknięte]

Używam R od nieco ponad roku i to było udane przedsięwzięcie. Ale często stwierdzam, że jest coś, czego nie mogę rozgryźć z braku wiedzy, jak to znaleźć lub przykład tego.

Stackoverflow,

Czy mógłbyś polecić ścieżkę nauki R w sposób zapewniający zestaw narzędzi do rozwiązywania problemów o charakterze statystycznym?

Jest bogactwo wiedzy w internecie, między stroną r-project i listy mailingowe, ale wydaje się być" wszędzie " i nigdzie, kiedy naprawdę go szukasz.

Na przykład, kiedy zacząłem używać R, przeszedłem przez "Intro to r". Następnie przeczytałem definicję języka (która oczywiście nie zapadła w pamięć). Ale za każdym razem, gdy zadaję pytanie na temat Stackoverflow, otrzymuję nową funkcję badass, która jest rozwiązaniem wszystkich moich problemów w krótkim czasie. Moje pytanie brzmi, skąd wiedziałeś, że te funkcje istnieją? I jak można ich znaleźć? Prawdopodobnie przeczytałeś coś lub znalazłeś jakieś zasoby, które przekierowały Twoją naukę do wykładniczej części krzywej. Co to było?

Oczywiście, funkcjonalność R jako narzędzia statystycznego jest szeroka. Dla własnych celów pracuję głównie z danymi ekonomicznymi lub finansowymi. Dlatego odpowiedzi z tym w umyśle byłyby najbardziej pomocne.

 49
r
Author: Brandon Bertelsen, 2010-07-31

11 answers

Odpowiedź całkowicie stronnicza: ucz sięplyr, reshape2 i ggplot2. Pokrywają one 90% potrzeb związanych z manipulacją i wizualizacją danych. Wszystkie trzy pakiety mają spójną filozofię danych (której dotyka książka ggplot2) i są zaprojektowane tak, aby były spójne i łatwiejsze do ucz się.

Zamiast uczyć się wielu specjalistycznych funkcji, naprawdę zachęcam do zapoznania się z prostymi funkcjami, które można elastycznie komponować, aby rozwiązać szeroki zakres problemów. Do tego dąży plyr zrobić dla manipulacji danymi, a co ggplot2 stara się zrobić dla wizualizacji. Oznacza to, że musisz zainwestować więcej czasu z góry, aby dowiedzieć się trochę o podstawowej teorii, ale wierzę, że to się sowicie opłaci na dłuższą metę.
 52
Author: hadley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-17 19:45:09

My way how I learned R.

R zasoby:

  • Aby nauczyć się R, najważniejszym zasobem jest google. Szukaj: "TOPIC r-project"," TOPIC filetype:r " lub "TOPIC site:nabble.com".

  • Po drugie, spójrz na przykładowy kod dostarczany z większością pakietów. przejdź do " http://bm2.genes.nig.ac.jp/", wyszukaj temat i spójrz na przykładowy kod. uruchom go i dostosować go, w ten sposób często można rozwiązać część problemu.

  • Po Trzecie: r-pomoc Lista mailingowa. Przeczytaj posty, podstawowe pytania są zadawane w kółko. Jeśli masz problem i jesteś całkowicie zablokowany, Zadaj pytanie na liście mailingowej.

  • Na koniec spójrz na kod źródłowy R-packages. to najtrudniejsza część. jeśli możesz zmienić kod do swoich potrzeb, opanowałeś R ;-)

Kilka Porad:

  • R ma stromą krzywą uczenia się. to jest funkcja ; -), ma na celu rozwiązywanie zaawansowanych problemów i w końcu jesteś szybki niż przy użyciu alternatywy dla R.

  • Poznaj każdy pojedynczy pakiet R i funkcje, które są istotne dla Twojego problemu. Siła R polega na tym, że dostępnych jest tak wiele pakietów (myślę, że około 2000). Zazwyczaj zawsze jest pakiet, który jest bardziej odpowiedni lub który już rozwiązuje twój problem. (niektóre strony pomocy są źle napisane i trudne do zrozumienia - przyzwyczaiłem się do tego)

  • Książki R nie są pomocne w nauce R. tak, to prawda. Jeśli jesteś ekspert programista i ekspert statystyk, nie potrzebujesz żadnej książki na R. (jedynym wyjątkiem jest książka Hadley Wickham ggplot2). Jeśli nie, naucz się programowania w ogóle i/lub zaawansowanych statystyk.

  • Niektóre pakiety R mają znane błędy, których nikt nie naprawi (właściciel pakietu opuścił Uniwersytet, itp.). tylko ostrzeżenie, może to być trudne, jeśli szukasz błędu w kodzie, a błąd jest w pakiecie R.

 8
Author: mrsteve,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-30 17:50:13

Zacznę od tego:

Moje pytanie brzmi, skąd wiedziałeś, że te funkcje istnieją?

Proste - próbowaliśmy rozwiązać podobny problem i natknęliśmy się na tę funkcję. Albo pasowało, albo nie pasowało do naszych potrzeb, ale teraz wiemy, że tam jest. Osobiście nie używałem R, ale to, co opisujesz, to krzywa uczenia się dla każdego języka programowania. Po pierwsze, uczysz się "gramatyki", czyli tego, co możesz zrobić. Więc spróbuj coś zrobić. Ty znajdź nie możesz.

Na tym etapie programista ma wiele opcji. Co robię osobiście? To zależy. Spróbuję poszukać tego pakietu / nagłówka / biblioteki / czegokolwiek, aby sprawdzić, czy coś odpowiada moim potrzebom. Mogę to wygooglować, bo chyba, że naprawdę przekraczasz granice, ktoś gdzieś prawdopodobnie próbował i nie zrobił tego wcześniej i otrzymał odpowiedź na swoje pytanie. Jeśli przesuwasz granice, ktoś gdzieś prawdopodobnie próbował i nie udało się wcześniej, ale nie ma odpowiedz. Mogę spróbować na forum lub dwóch, aby zobaczyć, co się stanie. Ja osobiście nie korzystam zbytnio z IRC, ale to inna opcja, podobnie jak listy dyskusyjne w zależności od tego, jak wyspecjalizowany jest problem.

Mam również na komputerze folder pełen książek, które przeszukuję w zależności od problemu i małą bibliotekę książek, które przeglądam/z których się nauczyłem, które często zawierają praktyczne, nie całkiem-tam-ale-dające się dostosować przykłady.

Moim jedynym komentarzem byłaby próba odczytania języka specyfikacja jest mało prawdopodobne, aby być masowo przydatne dla Ciebie jako początkujący. Nie zrozumiesz w pełni, co to znaczy, ponieważ jeszcze nie przekroczyłeś granic i nie próbowałeś czegoś. Na przykład, początkujący w C może spróbować tego:

char c = '7';
int x = (int) c;

Aby przekształcić znak '7' w postać całkowitą. Nie jest to zły proces myślowy, dopóki nie zrozumiesz, jak działają znaki i ASCII, wtedy zobaczysz, dlaczego powyższe nie daje ci tego, czego chcesz.

W skrócie, myślę, że to będzie część nauki proces i nie sądzę, że możesz go skrócić. Pocieszenie jest jak każde badanie, im więcej to zrobisz, tym więcej będziesz wiedział, gdzie szukać i jakie pytania zadać na temat różnych społeczności.

 7
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-30 22:39:39

Jedną z rzeczy, które robię, jest śledzenie kanału RSS pytań R NA SO ( https://stackoverflow.com/feeds/tag/r ). następnie mogę przeglądać co inni ludzie pytali/odpowiedzi.

Często będę faworyzował konkretne pytanie / odpowiedź, jeśli myślę, że z niego skorzystam, lub zapisuję najważniejsze punkty w oprogramowaniu mojego notebooka (OneNote), Nawet sam wypróbuję pytanie / odpowiedź.

EDIT:

Polecam również książkę Patricka Burna R-Inferno. To nie tyle książka szkoleniowa, co opis wszystkich momentów, które Patrick znalazł (do tej pory).
 7
Author: PaulHurleyuk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:43

Jest bezpłatna książka, która może Cię zainteresować: Wprowadzenie do prawdopodobieństwa i statystyki za pomocą R

 7
Author: interfect,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-29 02:45:37

Oto dobra lista zasobów do nauki R:

Https://stats.stackexchange.com/questions/138/resources-for-learning-r

Również ta strona w ogóle jest dobrym zasobem.

Ogólnie rzecz biorąc, powiedziałbym, że podążanie za listą mailingową lub listą pomocy jest najlepszym sposobem, jaki znalazłem do uczenia się nowych rzeczy. (To i "R magazine": http://www.r-bloggers.com )

 5
Author: Tal Galili,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-13 12:44:13

Nauka pakietu RODBC w zakresie bezpośredniej interakcji z danymi Oracle wywarła duży wpływ na moją pracę. Mój szef był zdumiony, gdy wyciągnąłem dane Oracle bezpośrednio do R i wykręciłem fabułę w zaledwie kilku linijkach kodu. Spróbuj to zrobić w Excelu!

Morał z historii, naucz się wciągać Dane i manipulować nimi w R. Następnie przejdź do fajniejszych rzeczy, takich jak ggplot.

 4
Author: stotastic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-18 21:32:48

Mogę polecić kurs wprowadzający Penn University na temat R .

Sam rozdział ggplot jest wart przeczytania - znalazłem ggplot bardzo mylące, ale to jest świetne Wyjaśnienie.

 4
Author: bac,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-11 16:40:55

Książka, która najbardziej pomogła mi w nauce, to sztuka programowania R . Wiele książek programistycznych może być suchych. Ponieważ R jest powszechnie punktem wejścia do programowania, ważne jest, aby głos materiałów rezonował z uczniem. Ta książka zrobiła to właśnie ze mną. Głos był bardzo swobodny I podobało mi się to.

 2
Author: Statwonk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-22 17:52:10
 1
Author: waanders,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-05 08:14:51

The [r] tag FAQ, right here on Stackoverflow, https://stackoverflow.com/questions/tagged/r?sort=faq&pagesize=50 dostarcza wielu powtarzalnych przykładów, które można wykorzystać do "uczenia się przez działanie".

Większość problemów są bardzo powszechne i ostatecznie będzie coś, że trzeba będzie szukać jako początkujący. Często zadawane pytania (FAQ) dostarczają również bardzo czytelnych (i doświadczonych) przykładów użycia różnorodnych funkcji i przydatnych pakietów.

Jeśli jesteś nowy Na R, i preferujesz bardziej praktyczne podejście do nauki, często zadawane pytania nie powinny być pomijane jako potencjalne źródło wiedzy. Wiele pytań dostarcza również użytecznej dyskusji wokół paradygmatów samego języka (wektoryzacja, przepływ pracy, debugowanie to tylko kilka przykładów).

Prawie każde pytanie w FAQ jest warte studiowania jako nowy użytkownik, ponieważ dotyka elementów, które, mówiąc za siebie, chciałbym być wskazywany, gdy zadałem to pytanie pierwotnie.

Just a kilka przykładów:

 1
Author: Brandon Bertelsen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:07