Kontakty

Jazyk r čo. Programovací jazyk R a jeho miesto medzi štatistickými programami. Ako vyzerá prostredie R.

Porozprávajme sa trocha o programovacom jazyku s názvom R. In nedávno Môžete si prečítať články na našich blogoch o a v oblastiach, kde potrebujete mať po ruke silný jazyk na prácu so štatistikami a grafmi. A R je jedným z nich. Pre nováčika vo svete programovania to môže byť ťažké uveriť, ale dnes je R už populárnejší ako SQL, aktívne sa používa v komerčných organizáciách, výskume a na univerzitách.

Bez toho, aby sme sa dostali do pravidiel, syntaxe a konkrétnych použití, si poďme prejsť základné knihy a zdroje, ktoré vám pomôžu naučiť sa R.

Čo je to jazyk R, prečo ho potrebujete a ako ho môžete múdro používať, sa môžete naučiť od nádherného Ruslana Kuptsova, ktorý v rámci GeekWeek-2015 strávil o niečo menej ako rok.

Knihy

Teraz, keď máte v hlave určitý poriadok, môžete začať čítať literatúru, pretože je toho viac než dosť. Začnime s domácimi autormi:


Internetové zdroje

Každý, kto sa chce naučiť programovať jazyk, musí pri hľadaní znalostí navštíviť dva zdroje: oficiálnu webovú stránku jeho vývojárov a najväčšiu online komunitu. No dobre. ani pre R neurobíme výnimku:

Ale opäť naplnený starostlivosťou o tých, ktorí Angličtina Zatiaľ sa mi to nepodarilo naučiť, ale naozaj chce študovať R, spomenieme niekoľko ruských zdrojov:

Medzitým doplníme obrázok malým zoznamom anglických, ale nemenej informatívnych stránok:

CRAN je vlastne miesto, kde si môžete stiahnuť vývojové prostredie R. do svojho počítača. Okrem toho príručky, príklady a ďalšie užitočné materiály na čítanie;

Quick -R - stručne a zrozumiteľne o štatistikách, spôsoboch ich spracovania a jazyku R;

Burns -Stat - o R a o jeho predchodcovi S s obrovské množstvo príklady;

R for Data Science, ďalšia kniha od Garretta Grolemunda, preložená do online učebnice;

Úžasné R - kompilácia lepší kód z oficiálnych stránok hosťovaných na našom milovanom GitHub;

Mran je jazyk R od spoločnosti Microsoft;

Tutorial R je ďalší zdroj s organizovanými informáciami z oficiálnych stránok.

K napísaniu tohto článku ma podnietila nasledujúca téma: Pri hľadaní dokonalého príspevku alebo hádanky habr. Faktom je, že po zoznámení sa s jazykom R sa pozerám na všetky pokusy o niečo vypočítať v programe Excel veľmi nedôverčivo. Ale musím priznať, že s R som sa stretol len pred týždňom.

Účel: Zhromažďovať údaje z obľúbeného HabraHabru pomocou jazyka R a v skutočnosti vykonávať to, na čo bol jazyk R vytvorený, konkrétne: štatistická analýza.

Po prečítaní tejto témy teda zistíte:

  • Ako môžete použiť R na získavanie údajov z webových zdrojov
  • Ako transformovať údaje na neskoršiu analýzu
  • Aké zdroje sú veľmi odporúčané pre všetkých, ktorí chcú lepšie spoznať R?

Od čitateľa sa očakáva, že bude dostatočne nezávislý na to, aby sa zoznámil so základnými konštrukciami jazyka. Na to sú koniec koncov vhodnejšie odkazy na konci článku.

Príprava

Budeme potrebovať nasledujúce zdroje:

Po inštalácii by ste mali vidieť niečo také:

V pravom dolnom paneli na karte Balíky nájdete zoznam nainštalovaných balíkov. Ďalej musíme nainštalovať nasledujúce:

  • Rcurl - pre vytváranie sietí. Každý, kto pracoval s CURL, okamžite pochopí všetky možnosti, ktoré sa mu otvárajú.
  • XML - balík na prácu so stromom DOM dokumentu XML. Potrebujeme funkčnosť na nájdenie prvkov pomocou xpath
Kliknite na „Inštalovať balíky“, vyberte tie, ktoré potrebujete, a potom ich označte začiarknutím, aby sa načítali do aktuálneho prostredia.

Prijímame údaje

Na získanie objektu DOM dokumentu získaného z internetu stačí vykonať nasledujúce riadky:
url<-"http://habrahabr.ru/feed/posts/habred/page10/" cookie<-"Мои сверхсекретные печеньки" html<-getURL(url, cookie=cookie) doc<-htmlParse(html)
Dávajte pozor na prenášané cookies. Ak chcete experiment zopakovať, budete musieť nahradiť súbory cookie, ktoré váš prehliadač dostane po prihlásení na web. Ďalej musíme získať údaje, ktoré nás zaujímajú, a to:
  • Keď bol príspevok uverejnený
  • Koľko zobrazení bolo
  • Koľko ľudí pridalo záznam do obľúbených
  • Koľko kliknutí bolo +1 a -1 (celkovo)
  • Koľko bolo kliknutí +1
  • Koľko -1
  • Súčasné hodnotenie
  • Počet komentárov
Bez toho, aby som zachádzal do prílišných podrobností, okamžite zadám kód:
publikovaný<-xpathSApply(doc, "//div[@class="published"]", xmlValue) pageviews<-xpathSApply(doc, "//div[@class="pageviews"]", xmlValue) favs<-xpathSApply(doc, "//div[@class="favs_count"]", xmlValue) scoredetailes<-xpathSApply(doc, "//span[@class="score"]", xmlGetAttr, "title") scores<-xpathSApply(doc, "//span[@class="score"]", xmlValue) comments<-xpathSApply(doc, "//span[@class="all"]", xmlValue) hrefs<-xpathSApply(doc, "//a[@class="post_title"]", xmlGetAttr, "href")
Tu sme použili hľadanie prvkov a atribútov pomocou xpath.
Ďalej sa dôrazne odporúča vytvoriť dátový rámec z prijatých údajov - to je analóg databázových tabuliek. Bude možné podávať požiadavky rôznych úrovní zložitosti. Niekedy sa čudujete, ako elegantne sa dá vec urobiť v R.
príspevky<-data.frame(hrefs, published, scoredetailes, scores, pageviews, favs, comments)
Po vytvorení rámca data.frame bude potrebné opraviť prijaté údaje: previesť riadky na čísla, získať skutočný dátum v normálnom formáte atď. Robíme to takto:

Príspevky $ komentáre<-as.numeric(as.character(posts$comments)) posts$scores<-as.numeric(as.character(posts$scores)) posts$favs<-as.numeric(as.character(posts$favs)) posts$pageviews<-as.numeric(as.character(posts$pageviews)) posts$published<-sub(" декабря в ","/12/2012 ",as.character(posts$published)) posts$published<-sub(" ноября в ","/11/2012 ",posts$published) posts$published<-sub(" октября в ","/10/2012 ",posts$published) posts$published<-sub(" сентября в ","/09/2012 ",posts$published) posts$published<-sub("^ ","",posts$published) posts$publishedDate<-as.Date(posts$published, format="%d/%m/%Y %H:%M")

Je tiež užitočné pridať ďalšie polia, ktoré sú vypočítané z už prijatých:
skreslený<-sapply(strsplit(as.character(posts$scoredetailes), "\\D+", perl=TRUE),unlist) if(class(scoressplitted)=="matrix" && dim(scoressplitted)==4) { scoressplitted<-t(scoressplitted) posts$actions<-as.numeric(as.character(scoressplitted[,1])) posts$plusactions<-as.numeric(as.character(scoressplitted[,2])) posts$minusactions<-as.numeric(as.character(scoressplitted[,3])) } posts$weekDay<-format(posts$publishedDate, "%A")
Tu sme transformovali známe správy vo formáte „Spolu 35: 29 a ↓ 6“ do súboru údajov podľa toho, koľko akcií bolo vykonaných všeobecne, koľko plusov a koľko mínusov.

V tejto súvislosti môžeme povedať, že všetky údaje sú prijaté a prevedené do formátu pripraveného na analýzu. Vyššie uvedený kód som navrhol ako funkciu pripravenú na použitie. Na konci článku nájdete odkaz na zdroj.

Pozorný čitateľ si však už všimol, že týmto spôsobom sme dostali údaje iba pre jednu stránku, aby sme sa dostali k celej sérii. Na získanie údajov pre celý zoznam stránok bola napísaná nasledujúca funkcia:

GetPostsForPages<-function(pages, cookie, sleep=0) { urls<-paste("http://habrahabr.ru/feed/posts/habred/page", pages, "/", sep="") ret<-data.frame() for(url in urls) { ret<-rbind(ret, getPosts(url, cookie)) Sys.sleep(sleep) } return(ret) }
Tu používame systémovú funkciu Sys.sleep, aby sme náhodne nezaradili efekt habra na samotný habr :)
Táto funkcia sa navrhuje používať nasledovne:
príspevky<-getPostsForPages(10:100, cookie,5)
Sťahujeme teda všetky stránky od 10 do 100 s prestávkou 5 sekúnd. Strany do 10 nie sú pre nás zaujímavé, pretože tam ešte známky nie sú. Po niekoľkých minútach čakania sú všetky naše údaje v premennej príspevky. Odporúčam uložiť ich priamo tam, aby ste Habra vždy neobťažovali! To sa deje týmto spôsobom:
write.csv (príspevky, súbor = "posts.csv")
A čítame to nasledovne:
príspevky<-read.csv("posts.csv")

Hurá! Naučili sme sa, ako získať štatistické údaje od spoločnosti Habr a uložiť ich lokálne pre ďalšiu analýzu!

Analýza dát

Túto časť ponechám nevypovedanú. Navrhujem, aby sa čitateľ s údajmi pohral a vyvodil vlastné závery. Skúste napríklad analyzovať závislosť nálady plus a mínus v závislosti od dňa v týždni. Dám iba 2 zaujímavé závery, ktoré som urobil.
Užívatelia Habru sú oveľa ochotnejší pridať ako mínus.
Je to vidieť na nasledujúcom grafe. Všimnite si, ako veľmi je „oblak“ mínusov rovnomernejší a širší ako šírenie plusov. Korelácia pre a proti je oveľa silnejšia než pre. Inými slovami: dávame plus bez rozmýšľania, ale mínus za vec!
(Ospravedlňujem sa za nápisy na grafoch: zatiaľ som neprišiel na to, ako ich správne zobraziť v ruštine)

V skutočnosti existuje niekoľko tried príspevkov
Toto tvrdenie bolo v uvedenom príspevku použité ako samozrejmosť, ale chcel som sa o tom presvedčiť v realite. Na to stačí vypočítať priemerný podiel plusov na celkovom počte akcií, rovnaký pre mínusy a rozdeliť druhý na prvý. Ak by bolo všetko jednotné, nemali by sme na histograme pozorovať veľa miestnych vrcholov, ale sú tam.


Ako vidíte, existujú výrazné vrcholy okolo 0,1, 0,2 a 0,25. Odporúčame čitateľovi, aby si tieto triedy sám našiel a „pomenoval“.
Chcem poznamenať, že R je bohatý na algoritmy na klastrovanie údajov, na aproximáciu, na testovanie hypotéz atď.

Užitočné zdroje

Ak sa chcete skutočne ponoriť do sveta R, odporúčam nasledujúce odkazy. Podeľte sa, prosím, o svoje zaujímavé blogy a weby R v sekcii komentárov. Je tu niekto, kto píše o R v ruštine?

Chcem hovoriť o použití bezplatného prostredia štatistickej analýzy R. Považujem to za alternatívu k štatistickým balíkom, ako je SPSS Statistics. Na moju hlbokú ľútosť je v rozľahlosti našej vlasti úplne neznáma, ale márne. Verím, že schopnosť písať ďalšie rutiny štatistickej analýzy v jazyku S robí systém R užitočným nástrojom na analýzu údajov.

V jarnom semestri 2010 som mal možnosť prednášať a viesť praktické hodiny v kurze „Analýza štatistických údajov“ pre študentov Katedry inteligentných systémov Ruskej štátnej univerzity pre humanitné vedy.

Moji študenti absolvovali semestrálny kurz teórie pravdepodobnosti pokrývajúci základy diskrétnych priestorov pravdepodobnosti, podmienených pravdepodobností, Bayesovej vety, zákona „veľkých čísel“, niektorých znalostí normálneho zákona a centrálnej limitnej vety.

Asi pred piatimi rokmi som už učil (vtedy ešte kombinovaný) semestrálny kurz „Základy teórie pravdepodobnosti a matematickej štatistiky“, a tak som svoje poznámky (rozdávané študentom pred každou hodinou) rozšíril o štatistiku. Teraz, keď má RGGU študentský server isdwiki.rsuh.ru oddelenia, súčasne ich nahrám na FTP.

Vyvstala otázka: aký program by som mal použiť na vedenie praktických cvičení v počítačovej triede? Často používaný Microsoft Excel bol odmietnutý kvôli vlastníckej povahe aj kvôli nesprávnej implementácii niektorých štatistických postupov. Dočítate sa o tom napríklad v knihe AA Makarova a Yu.N. Tyurina „Štatistická analýza údajov na počítači“. Tabuľky Calc z bezplatného kancelárskeho balíka Openoffice.org boli rusifikované, takže som len ťažko našiel požadovanú funkciu (ich názvy boli tiež nechutne skrátené).

Najbežnejšie používaným balíkom je SPSS Statistics. SPSS teraz preberá spoločnosť IBM. Z výhod štatistiky IBM SPSS vyzdvihnem:

  • Pohodlné načítanie údajov rôznych formátov (Excel, SAS, cez OLE DB, cez ODBC Direct Driver);
  • Dostupnosť príkazového jazyka a systému rozvetvených ponúk pre priamy prístup k rôznym postupom štatistickej analýzy;
  • Grafické prostriedky na zobrazovanie výsledkov;
  • Vstavaný tréner štatistík, ktorý interaktívne navrhuje adekvátnu analytickú metódu.
Nevýhody štatistiky IBM SPSS podľa mňa sú:
  • Platené aj pre študentov;
  • Potreba získať (dodatočne platené) moduly obsahujúce špeciálne postupy;
  • Podporované sú iba 32-bitové operačné systémy Linux, aj keď sú podporované 32-bitové aj 64-bitové systémy Windows.
Prípadne som zvolil systém. Tento systém sa začal vyvíjať úsilím Roberta Gentlemana a Rossa Ihaka na katedre štatistiky na univerzite v Melbourne v roku 1995. Prvé písmená mien autorov určovali jeho názov. Následne sa k vývoju a rozšíreniu tohto systému zapojili poprední štatistici.

Považujem výhody diskutovaného systému:

  • Redistribúcia programu podľa verejnej licencie GNU;
  • Dostupnosť zdrojov aj binárnych súborov v rozsiahlej sieti CRAN (The Comprehensive R Archive Network). Pre Rusko je to server cran.gis-lab.info;
  • Prítomnosť inštalačného balíka pre Windows (funguje na 32-bitovej aj 64-bitovej verzii Vista). Náhodou sa ukázalo, že inštalácia nevyžaduje práva správcu v systéme Windows XP;
  • Schopnosť inštalovať z úložiska v systéme Linux (funguje pre mňa v 64-bitovej verzii Ubuntu 9.10);
  • Prítomnosť vlastného programovacieho jazyka pre štatistické postupy R, ktorý sa v skutočnosti stal štandardom. Je napríklad plne podporovaný novým vývojárom štatistík IBM SPSS;
  • Tento jazyk je rozšírením jazyka S vyvinutého v Bell Labs a v súčasnosti tvorí základ komerčného systému S-PLUS. Väčšinu programov napísaných pre S-PLUS je možné ľahko vykonať v prostredí R;
  • Schopnosť výmeny údajov s tabuľkami;
  • Schopnosť uložiť celú históriu výpočtov na účely dokumentácie.
Na prvú hodinu bolo pripravené CD, na ktoré boli zaznamenané inštalačné súbory, dokumentácia a príručky. O tom poslednom vám poviem viac. CRAN poskytuje podrobné používateľské príručky k inštalácii, jazyku R (a jeho podmnožine S), písaniu ďalších štatistických postupov a exportu a importu údajov. Prispievaná dokumentácia má veľký počet publikácií štatistikov, ktorí tento balík používajú vo svojom vyučovacom procese. V ruštine bohužiaľ nič nie je, aj keď napríklad existuje dokonca poľština. Z kníh v anglickom jazyku by som rád spomenul „Použitie R na úvodnú štatistiku“ profesora Johna Verzaniho z City University of New York a „Introduction to the R project for Statistical Computing“ profesora Rossitera (Holandsko) z Medzinárodného inštitútu geoinformatiky a pozorovaní Zeme.

Prvá hodina bola venovaná inštalácii a školeniu na používanie balíka, znalosti syntaxe jazyka R. Ako testovací problém boli použité výpočty integrálov metódou Monte Carlo. Tu je príklad výpočtu pravdepodobnosti rv. s exponenciálnym rozdelením s parametrom 3 vezmite hodnotu menšiu ako 0,5 (10 000 - počet pokusov).
> x = runif (10000,0,0,5)
> y = runif (10 000,0,3)
> t = y<3*exp(-3*x)
> u = x [t]
> v = y [t]
> sprisahanie (u, v)
> i = 0,5 * 3 * dĺžka (u) / 10 000

Prvé dva riadky nastavujú rovnomerné rozloženie bodov v obdĺžniku x, potom sa vyberú tie body, ktoré spadajú pod graf exponenciálnej hustoty 3 * exp (-3 * x), funkcia vykresľovania zobrazuje body v grafickom výstupnom okne, a nakoniec sa vypočíta požadovaný integrál.
Druhá lekcia bola venovaná výpočtu deskriptívnej štatistiky (kvantily, medián, priemer, rozptyl, korelácia a kovariancia) a vykresleniu grafov (histogramy, škatule a fúzy).
V nasledujúcich hodinách bola použitá knižnica Rcmdr. Jedná sa o grafické užívateľské rozhranie (GUI) pre prostredie R. Knižnicu vyvíja profesor John Fox z McMaster University v Kanade.

Táto knižnica sa inštaluje vykonaním príkazu install.packages ("Rcmdr", dependencies = TRUE) v prostredí R. Ak je samotné prostredie interpretom jazyka R, potom je doplnok "Rcmdr" doplnkovým oknom so systémom ponúk obsahujúcim veľký počet príkazov zodpovedajúcich štandardným štatistickým postupom. To je obzvlášť výhodné pre kurzy, kde je hlavnou vecou naučiť študenta stláčať tlačidlá (bohužiaľ, teraz ich je stále viac).

Poznámky k semináru z môjho predchádzajúceho kurzu boli rozšírené. Sú k dispozícii aj prostredníctvom FTP z isdwiki.rsuh.ru. Tieto poznámky obsahovali tabuľky kritických hodnôt, ktoré boli použité na výpočty na tabuli. Tento rok boli študenti požiadaní, aby vyriešili tieto problémy na počítači a tiež skontrolovali tabuľky pomocou (bežných) aproximácií uvedených v poznámkach.

Boli tam aj niektoré moje chyby. Napríklad som si príliš neskoro uvedomil, že Rcmdr umožňuje import údajov z stiahnutých balíkov, takže relatívne veľké vzorky boli spracované iba v triedach regresnej analýzy. Pri prezentácii neparametrických testov študenti zadali údaje ručne pomocou mojich poznámok. Ďalšou nevýhodou, ako ju teraz chápem, bol nedostatočný počet domácich úloh na písanie pomerne zložitých programov v jazyku R.

Je potrebné poznamenať, že na mojich hodinách sa zúčastnilo niekoľko starších študentov a niekoľko stiahnutých materiálov z prednášok a seminárov. Študenti Katedry inteligentných systémov Ruskej štátnej univerzity pre humanitné vedy absolvujú zásadné školenie z matematiky a programovania, takže používanie prostredia R (namiesto tabuliek a štatistických balíkov s fixnými štatistickými postupmi) sa mi zdá veľmi užitočné.

Ak stojíte pred úlohou študovať štatistiku a najmä písať neštandardné postupy pre spracovanie štatistických údajov, odporúčam obrátiť vašu pozornosť na balík R.

Štatistická analýza je neoddeliteľnou súčasťou vedeckého výskumu. Vysokokvalitné spracovanie údajov zvyšuje šance na uverejnenie článku v renomovanom časopise a posunutie výskumu na medzinárodnú úroveň. Existuje mnoho programov, ktoré môžu poskytovať vysokokvalitnú analýzu, ale väčšina z nich je platená a licencia často stojí niekoľko stoviek dolárov alebo viac. Dnes si ale povieme niečo o štatistickom prostredí, za ktoré sa nemusí platiť a jeho spoľahlivosť a popularita sa vyrovná najlepším komerčným štatistikám. balíčky: zoznámime sa s R!

Čo je R?

Predtým, ako uvedieme jasnú definíciu, treba poznamenať, že R je viac než len program: je to prostredie, jazyk, a dokonca aj pohyb! Pozrime sa na R z rôznych uhlov.

R je počítačové prostredie vyvinuté vedcami pre spracovanie dát, matematické modelovanie a grafiku. R môže byť použitý ako jednoduchá kalkulačka, môžete vykonávať jednoduché štatistické analýzy (napríklad ANOVA alebo regresná analýza) a zložitejšie časovo náročné výpočty, testovať hypotézy, vytvárať vektorovú grafiku a mapy. Toto nie je úplný zoznam toho, čo môžete v tomto prostredí robiť. Stojí za zmienku, že je distribuovaný bezplatne a je možné ho nainštalovať do systému Windows aj do operačných systémov triedy UNIX (Linux a MacOS X). Inými slovami, R je bezplatný a multiplatformový produkt.

R je programovací jazyk, vďaka ktorému môžete písať svoje vlastné programy ( skripty) s pomocou, ako aj používať a vytvárať špecializované rozšírenia ( balíčky). Balík je zbierka súborov s pomocnými informáciami a príkladmi, zostavených v jednom archíve. zohrávajú dôležitú úlohu, pretože sa používajú ako dodatočné rozšírenia na základe R. Každý balík je zvyčajne venovaný konkrétnej téme, napríklad: balík „ggplot2“ sa používa na vytváranie krásnych vektorových grafov určitého dizajnu a „qtl“ balík je ideálny pre genetické mapovanie ... V knižnici R je v súčasnosti viac ako 7 000 takýchto balíkov! Všetky sú skontrolované na chyby a sú verejne dostupné.


R je komunita / hnutie.
Keďže R je bezplatný a open source produkt, jeho vývoj, testovanie a ladenie nerobí samostatná spoločnosť s najatým personálom, ale samotní používatelia. Za posledné dve desaťročia sa z jadra vývojárov a nadšencov vytvorila obrovská komunita. Podľa najnovších údajov viac ako 2 milióny ľudí tak či onak pomohli pri rozvoji a podpore R na dobrovoľnom základe, od prekladu dokumentácie, vytvárania vzdelávacích kurzov až po vývoj nových aplikácií pre vedu a priemysel. Na internete je obrovské množstvo fór, kde nájdete odpovede na väčšinu otázok týkajúcich sa R.

Ako vyzerá prostredie R?

Existuje mnoho „koží“ pre R, ktoré sa môžu veľmi líšiť vzhľadom a funkčnosťou. Stručne sa však pozrieme iba na tri najobľúbenejšie možnosti: Rgui, Rstudio a R, spustené v termináli Linux / UNIX ako príkazový riadok.


Jazyk R vo svete štatistických programov

V súčasnej dobe existujú desiatky kvalitných štatistických balíkov, medzi ktorými sú jasnými lídrami SPSS, SAS a MatLab. V roku 2013 sa však R napriek vysokej konkurencii stal najpoužívanejším softvérom pre štatistickú analýzu vo vedeckých publikáciách (http://r4stats.com/articles/popularity/). Navyše, v poslednom desaťročí je R v podnikateľskom sektore stále viac žiadaný: také giganty ako Google, Facebook, Ford a New York Times ho aktívne používajú na zber, analýzu a vizualizáciu údajov (http: // www.revolutionanalytics .com / companies-using-r). Aby sme pochopili dôvody rastúcej popularity jazyka R, venujme pozornosť jeho spoločným znakom a rozdielom od ostatných štatistických produktov.

Väčšinu štatistických nástrojov možno vo všeobecnosti rozdeliť do troch typov:

  1. GUI programy založené na zásade „kliknite sem, tu a získajte konečný výsledok“;
  1. štatistické programovacie jazyky s ktorými sú požadované základné znalosti programovania;
  1. "zmiešaný" ktoré majú tiež grafické rozhranie ( GUI) a schopnosť vytvárať skriptovacie programy (napríklad: SAS, STATA, Rcmdr).

Vlastnosti programov s GUI

Programy s grafickým rozhraním majú vzhľad bežného používateľa a dajú sa ľahko naučiť. Nie sú však vhodné na riešenie netriviálnych úloh, pretože majú obmedzený súbor štatistík. metódy a nie je možné do nich písať vlastné algoritmy. Zmiešaný typ kombinuje pohodlie shellu GUI a silu programovacích jazykov. Pri podrobnom porovnaní štatistických schopností s programovacími jazykmi SAS a STATA však R aj MatLab strácajú (porovnanie štatistických metód R, MatLab, STATA, SAS, SPSS). Za licencie k týmto programom sa navyše bude musieť zaplatiť slušná čiastka peňazí a jedinou bezplatnou alternatívou je Rcmdr: frontend pre R s GUI (Rcommander).

Porovnanie R s programovacími jazykmi MatLab, Python a Julia

Medzi programovacími jazykmi používanými v štatistických výpočtoch zaujímajú vedúce pozície R a Matlab. Navzájom sa podobajú vzhľadom aj funkčnosťou; ale majú rôzne užívateľské lobby, ktoré určujú ich špecifiká. MatLab sa historicky zameriava na aplikované vedy o strojárstve, takže jeho silné stránky sú mat. simulácia a výpočet, a je to oveľa rýchlejšie ako R! Ale pretože R bol vyvinutý ako úzkoprofilový jazyk na spracovanie štatistických údajov, veľa experimentálnych štatistík. metódy sa objavili a boli v nich opravené. Táto skutočnosť a nulové náklady urobili z R ideálnu platformu pre vývoj a používanie nových balíkov pre základné vedy.

Ďalšími „konkurenčnými“ jazykmi sú Python a Julia. Podľa mňa je Python, univerzálny programovací jazyk, vhodnejší na spracovanie údajov a zber informácií pomocou webových technológií než na štatistickú analýzu a vizualizáciu (hlavné rozdiely medzi jazykom R a Pythonom sú dobre popísané). Štatistický jazyk Julia je však pomerne mladý a náročný projekt. Hlavnou črtou tohto jazyka je výpočtová rýchlosť, ktorá v niektorých testoch prekračuje R stonásobne! Aj keď je Julia v ranom štádiu vývoja a má niekoľko ďalších balíkov a sledovateľov, z dlhodobého hľadiska je Julia možno jedinou potenciálnou konkurentkou R.

Záver

R je teda v súčasnosti jedným z popredných štatistických nástrojov na svete. Aktívne sa používa v genetike, molekulárnej biológii a bioinformatike, environmentálnych vedách (ekológia, meteorológia) a poľnohospodárskych odboroch. R sa tiež čoraz viac používa pri spracovaní lekárskych údajov, pričom z trhu vytláča komerčné balíky ako SAS a SPSS.

Výhody prostredia R:

  • zadarmo a multiplatformové;
  • bohatý arzenál štatistík metódy;
  • vysokokvalitná vektorová grafika;
  • viac ako 7 000 skontrolovaných balíkov;
  • flexibilné použitie:
    - umožňuje vytvárať / upravovať skripty a balíky,
    - interaguje s inými jazykmi, ako sú C, Java a Python,
    - môže pracovať s dátovými formátmi pre SAS, SPSS a STATA;
  • aktívna komunita používateľov a vývojárov;
  • pravidelné aktualizácie, dobrá dokumentácia a technológie. podpora.

Nevýhody:

  • malé množstvo informácií v ruštine (aj keď sa za posledných päť rokov objavilo niekoľko školení a zaujímavých kníh);
  • relatívne obtiažne používanie pre používateľa, ktorý nepozná programovacie jazyky. Toto je možné čiastočne zmierniť prácou v prostredí Rcmdr GUI, o ktorom som písal vyššie, ale pri neštandardných riešeniach stále potrebujete použiť príkazový riadok.

Zoznam užitočných zdrojov

  1. Oficiálna webová stránka: http://www.r-project.org/
  2. Úvodná stránka: http://www.statmethods.net/
  3. Jedna z najlepších referenčných kníh: Kniha R, 2. vydanie od Michaela J. Crawleyho, 2012
  4. Zoznam dostupnej literatúry v ruštine + dobrý blog

Programovanie na R. úrovni 1. Základy

Jazyk R je najpopulárnejší nástroj na analýzu štatistických údajov na svete. Obsahuje najširšiu škálu možností pre analýzu dát, vizualizáciu, ako aj tvorbu dokumentov a webových aplikácií. Chcete zvládnuť tento silný jazyk so skúseným mentorom? Pozývame vás na kurz "Programovanie v jazyku R. Úroveň 1. Základné znalosti".

Tento kurz je určený pre široký okruh profesionálov, ktorí potrebujú hľadať vzorce vo veľkom množstve údajov, vizualizovať ich a vytvárať štatisticky správne závery: sociológovia, manažéri / farmakológovia klinických štúdií, vedci (astronómia, fyzika, biológia, genetika, medicína) atď.), IT analytici, obchodní analytici, finanční analytici, obchodníci. Kurz sa bude páčiť aj odborníkom, ktorí nevyhovujú funkčnosti (alebo platenej) /.

V triede získate základné znalosti v oblasti analýzy a vizualizácie údajov v prostredí R.... Väčšina času je venovaná praktickým cvičeniam a práci so súbormi reálnych dát. Naučíte sa všetky nové nástroje pre prácu s údajmi a naučíte sa ich aplikovať vo svojej práci.

Po skončení kurzu je vydané osvedčenie o ďalšom školení centra.



Páčil sa vám článok? Zdieľaj to