Co to jest R?
R to język programowania stworzony do jednego zadania: pracy z danymi. Statystyka, analiza danych i wizualizacja danych nie są w R dokręcane bibliotekami, tylko są samym językiem. Średnie, modele, wykresy i rozkłady prawdopodobieństwa dostajesz w zestawie, a składnia jest dopasowana do pytania, które ludzie od danych naprawdę zadają: „oto kolumna liczb, powiedz mi coś o niej”.
To skupienie to cała osobowość R. Język ogólnego przeznaczenia, taki jak Java, każe ci budować wszystko od podstawowych elementów. R daje ci test t w jednej linii.
Oto R robiący to, do czego został stworzony. Uruchom:
Trzy statystyki, trzy linie, zero importów. c() buduje wektor wartości, a mean(), sd() i max() są wbudowane w język. Tak w miniaturze wygląda praca w R.
Krótka historia
R wyrósł z S, języka statystycznego opracowanego w Bell Labs w latach 70. W połowie lat 90. dwóch statystyków z University of Auckland, Ross Ihaka i Robert Gentleman, zbudowało darmową, otwartą implementację idei S i nazwało ją R, nawiązując zarówno do pierwszych liter swoich imion, jak i do S, od którego język pochodzi.
R 1.0 ukazał się w 2000 roku i od tamtej pory język rozwija R Core Team. Ponieważ był darmowy, a jego komercyjni przodkowie nie, R najpierw rozprzestrzenił się na uczelniach i w laboratoriach badawczych. To akademickie DNA wciąż widać: gdy statystycy wymyślają nową metodę, pakiet R, który ją implementuje, zwykle pojawia się przed czymkolwiek innym.
Do czego używa się R
- Statystyka i analiza danych. Główne zastosowanie. Statystyki opisowe, testy hipotez, regresja, szeregi czasowe: wszystko to obywatele pierwszej kategorii.
- Wizualizacja danych. Bazowy R rysuje wykresy jednym wywołaniem funkcji, a pakiet
ggplot2jest powszechnie uznawany za najlepszą bibliotekę do wykresów w jakimkolwiek języku. - Data science. Kolekcja pakietów „tidyverse” (
dplyr,tidyr,readr) sprawia, że czyszczenie i przekształcanie chaotycznych danych jest wyjątkowo przyjemne. - Bioinformatyka. Projekt Bioconductor, czyli tysiące pakietów R do genomiki, sprawia, że R jest domyślnym językiem w dużej części biologii.
- Uczelnie i badania. Ekonomia, psychologia, epidemiologia, ekologia: jeśli dziedzina publikuje artykuły z p-value, jej doktoranci prawdopodobnie piszą w R.
- Raportowanie. R Markdown i Quarto zamieniają kod analizy w dopracowane raporty, slajdy i dashboardy.
Dlaczego ludzie lubią R
Wszystko jest wektorem. Operacje w R naturalnie działają na całych zbiorach wartości naraz: prices * 1.2 podnosi każdą cenę o 20%, bez żadnej pętli. Gdy to zrozumiesz, kod do pracy z danymi robi się dramatycznie krótszy. Zobaczysz to wszędzie, gdy dojdziesz do wektorów.
Statystyka jest wbudowana. Generowanie liczb losowych, rozkłady, testy statystyczne i modele liniowe są w bazowym R. W większości języków to zewnętrzne zależności; w R po prostu są.
CRAN. Comprehensive R Archive Network gromadzi ponad 20 000 starannie dobranych pakietów, a każdy z nich przechodzi automatyczne testy przed publikacją. Jakakolwiek niszowa metoda jest używana w twojej dziedzinie, ktoś już zrobił z niej pakiet.
Wykresy, które szanują twój czas. hist(scores) daje ci histogram. Jedno wywołanie. R jest zoptymalizowany pod analizę eksploracyjną: spójrz na dane, popraw, spójrz jeszcze raz.
R czy Python: uczciwa wersja
To pytanie zadaje każdy początkujący, więc oto odpowiedź bez plemiennych sporów.
Python to język ogólnego przeznaczenia, który bardzo dobrze radzi sobie z danymi. Wygrywa, gdy praca z danymi jest częścią większego systemu: aplikacji internetowej, produkcyjnego potoku uczenia maszynowego, automatyzacji. Jest z nim związanych więcej ofert pracy, a jeden język obejmuje większy obszar.
R to język do danych, który świetnie radzi sobie ze statystyką. Wygrywa, gdy pracą jest sama analiza: eksploracja zbiorów danych, dopasowywanie modeli statystycznych, tworzenie grafik i raportów na poziomie publikacji. Jego ekosystem statystyczny jest głębszy, a najnowsze metody trafiają najpierw do R.
Żaden nie jest „lepszy”: mają po prostu różne środki ciężkości. Jeśli zajmujesz się badaniami, biostatystyką albo rolami mocno opartymi na analityce, zacznij od R. Jeśli celujesz w inżynierię oprogramowania z domieszką danych, zacznij od Pythona. A sekret, który internetowe spory pomijają: drugi język wymaga ułamka wysiłku, gdy już znasz pierwszy, a wielu profesjonalistów używa obu w tym samym tygodniu.
Wypróbuj od razu
Nie musisz niczego instalować, żeby zacząć: bloki kodu na tych stronach działają na żywo. Oto nieco większa próbka: symulacja rzutów kostką i ich podsumowanie.
sample() symuluje 100 rzutów kostką, a table() liczy, ile razy wypadła każda ścianka: tabela częstości w jednym wywołaniu. Zmień 100 na 10000 i uruchom ponownie; średnia zbliża się do 3.5, dokładnie tak, jak przewiduje rachunek prawdopodobieństwa. Ten cykl (pytanie, kod, odpowiedź, poprawka) to właśnie to, jak wygląda praca w R.
Gdy zechcesz uruchamiać R na własnym komputerze, następnym krokiem jest instalacja R i RStudio.
Najważniejsze informacje
- R to darmowy, otwarty język stworzony specjalnie do statystyki, analizy danych i wizualizacji.
- Pochodzi od S; stworzyli go Ross Ihaka i Robert Gentleman w połowie lat 90., a R 1.0 pojawił się w 2000 roku.
- Jego mocne strony: operacje wektorowe, wbudowana statystyka, ponad 20 000 pakietów w CRAN i najlepsze w swojej klasie wykresy.
- R kontra Python to nie wojna: R jest głębszy w statystyce, Python szerszy w inżynierii, a wiele osób używa obu.
Dalej: instalacja R (i RStudio) na własnym komputerze.
Najczęściej zadawane pytania
Do czego służy język programowania R?
R służy do statystyki, analizy danych i wizualizacji danych. Dominuje w badaniach naukowych, biostatystyce i bioinformatyce, epidemiologii i w każdej dziedzinie, w której zadanie brzmi „przeanalizuj ten zbiór danych i przygotuj wykresy oraz modele”. Rzadziej używa się go do budowania aplikacji czy stron internetowych, bo nie do tego go zaprojektowano.
Czy R jest trudny do nauczenia?
Do pracy z danymi R to jeden z łatwiejszych języków na start. Wczytanie zbioru danych, obliczenie statystyk opisowych i narysowanie wykresu zajmuje po jednej linii. Później ludzi zaskakuje elastyczność R, czyli kilka sposobów na zrobienie tej samej rzeczy, dlatego wczesne poznanie nowoczesnych konwencji się opłaca.
Uczyć się R czy Pythona?
Jeśli twoja praca to przede wszystkim statystyka (badania, biostatystyka, ekonometria, raportowanie), z R zajdziesz dalej i szybciej. Jeśli chcesz jednego języka ogólnego przeznaczenia do danych, a do tego skryptów, backendów aplikacji internetowych czy inżynierii uczenia maszynowego, wybierz Pythona. Wielu specjalistów od danych w końcu używa obu, bo pojęcia przenoszą się między nimi.
Czy R jest darmowy?
Tak. R jest darmowy i open source, wydawany na licencji GPL. Pobierasz go z CRAN bez żadnych opłat, a tysiące pakietów w CRAN też są darmowe.