Ce este pachetul R: manual de instrucțiuni. Mediul de calcul statistic R: experiență de utilizare în predare Pachete lingvistice r

Programare pe R. Nivelul 1. Bazele

Limbajul R este cel mai popular instrument de analiză a datelor statistice din lume. Conține o gamă largă de capabilități pentru analiza datelor, vizualizarea acestora și crearea de documente și aplicații web. Vrei să stăpânești acest limbaj puternic cu îndrumarea unui mentor cu experiență? Vă invităm la curs „Programare în limbajul R. Nivelul 1. Cunoștințe de bază”.

Acest curs este destinat unei game largi de specialiști care trebuie să caute modele în cantități mari de date, să le vizualizeze și să construiască concluzii corecte statistic: sociologi, manageri de studii clinice/farmacologi, cercetători (astronomie, fizică, biologie, genetică, medicină, etc.), analiști IT, analiști de afaceri, analiști financiari, marketeri. Cursul va atrage și specialiștii care nu sunt confortabili cu funcționalitatea (sau taxele) / .

În timpul orelor veți dobândi abilități de bază în analiza și vizualizarea datelor în mediu R. Majoritatea timpului este petrecut sarcini practiceși lucrul cu seturi de date reale. Veți învăța toate noile instrumente de lucru cu date și veți afla cum să le aplicați în munca dvs.

După curs, se eliberează un certificat de pregătire avansată a centrului.

Să vorbim puțin despre limbajul de programare numit R. în ultima vreme Puteți citi articole pe blogurile noastre despre acele domenii în care pur și simplu trebuie să aveți un limbaj puternic la îndemână pentru a lucra cu statistici și grafice. Și R este doar unul dintre acestea. Va fi destul de greu pentru un nou venit în lumea programării să creadă acest lucru, dar astăzi R este deja mai popular decât SQL, este folosit în mod activ în organizațiile comerciale, cercetare și universități.

Fără a pătrunde în reguli, sintaxă și zone specifice aplicații, doar să ne uităm la cărțile și resursele esențiale care vă vor ajuta să învățați R de la zero.

Ce este limbajul R, de ce aveți nevoie de el și cum îl puteți folosi cu înțelepciune, puteți învăța de la minunatul Ruslan Kuptsov, pe care l-a oferit cu puțin mai puțin de un an în urmă, ca parte a GeekWeek-2015.

Cărți

Acum că există o anumită ordine în capul tău, poți începe să citești literatură, din fericire, este mai mult decât suficientă. Să începem cu autorii autohtoni:


Resurse de internet

Orice persoană care dorește să învețe orice limbaj de programare trebuie să viziteze două resurse în căutarea cunoștințelor: site-ul oficial al dezvoltatorilor săi și cel mai mare comunitatea online. Bine. Să nu facem o excepție pentru R:

Dar din nou, impregnată de îngrijorare pentru cei care Limba engleză Nu am avut timp să-l învăț încă, dar chiar vreau să învăț R, să menționăm câteva resurse rusești:

Între timp, să completăm imaginea cu o mică listă de site-uri în limba engleză, dar nu mai puțin educaționale:

CRAN este de fapt un loc de unde puteți descărca mediul de dezvoltare R pe computer. În plus, manuale, exemple și alte citiri utile;

Quick-R - pe scurt și clar despre statistici, metode de prelucrare a acestora și limbajul R;

Burns-Stat - despre R și predecesorul său S cu un număr mare de exemple;

R for Data Science este o altă carte a lui Garrett Grolemund, tradusă într-un format de manual online;

Awesome R - o selecție a celui mai bun cod de pe site-ul oficial, postat pe iubitul nostru GitHub;

Mran - limbaj R de la Microsoft;

Tutorial R este o altă resursă cu informații organizate de pe site-ul oficial.

Trebuie să tastați acest lucru în terminal.

Frumusețea lui R este aceasta:

  1. Acest program este gratuit (distribuit sub licență GPL),
  2. Multe pachete au fost scrise pentru acest program pentru a rezolva o gamă largă de probleme. Toate sunt, de asemenea, gratuite.
  3. Programul este foarte flexibil: dimensiunile oricăror vectori și matrice pot fi modificate la cererea utilizatorului, datele nu au o structură rigidă; Această proprietate se dovedește a fi extrem de utilă în cazul prognozării, când cercetătorul trebuie să dea o prognoză pentru o perioadă arbitrară.

Această ultimă proprietate este deosebit de relevantă, deoarece alte pachete statistice (cum ar fi SPSS, Eviews, Stata) presupun că ar putea fi interesați doar să analizăm date care au o structură fixă ​​(de exemplu, toate datele dintr-un fișier de lucru trebuie să fie de aceeași periodicitate). cu aceleași date de început și de sfârșit).

Cu toate acestea, R nu este cel mai prietenos program. În timp ce lucrați cu acesta, uitați de mouse - aproape toate cele mai importante acțiuni din el sunt efectuate folosind linie de comandă. Cu toate acestea, pentru a face viața puțin mai ușoară, iar programul în sine un pic mai primitor, există un program frontend ( în față) numit RStudio. Îl poți descărca de aici. Este instalat după ce R însuși a fost deja instalat RStudio are multe instrumente convenabile și o interfață plăcută, cu toate acestea, analiza și prognoza în el sunt încă efectuate folosind linia de comandă.

Să încercăm să aruncăm o privire asupra acestui program minunat.

Cunoașterea RStudio

Interfața RStudio arată ca după cum urmează:

În colțul din dreapta sus în RStudio este indicat numele proiectului (care deocamdată avem „Niciunul” - adică lipsește). Dacă facem clic pe această inscripție și selectăm „Proiect nou”, ni se va solicita să creăm un proiect. Pentru scopuri de prognoză de bază, trebuie doar să selectați „Director nou” ( folder nou pentru proiect), „Empty Project” (proiect gol), apoi introduceți numele proiectului și selectați directorul în care să-l salvați. Folosește-ți imaginația și încearcă să găsești singur un nume :).

Când lucrați cu un singur proiect, puteți accesa oricând datele, comenzile și scripturile stocate în acesta.

În partea stângă a ferestrei RStudio se află consola. Aici vom introduce diverse comenzi. De exemplu, să scriem următoarele:

x< - rnorm (100 , 0 , 1 )

Această comandă va genera 100 de variabile aleatoare dintr-o distribuție normală cu așteptare zero și varianță unitară, apoi va crea un vector numit „x” și va scrie cele 100 de valori rezultate în el. Simbol "<-» эквивалентен символу «=» и показывает какое значение присвоить нашей переменной, стоящей слева. Иногда вместо него удобней использовать символ «->”, deși variabila noastră în acest caz ar trebui să fie în dreapta. De exemplu, următorul cod va crea un obiect „y” care este absolut identic cu obiectul „x”:

x -> y

Acești vectori apar acum în partea dreaptă sus a ecranului, sub fila, pe care am intitulat-o „Mediu”:

Modificări în fila „Mediu”.

Această parte a ecranului va afișa toate obiectele pe care le salvăm în timpul sesiunii. De exemplu, dacă creăm o matrice ca aceasta:

\(A = \begin(pmatrix) 1 & 1 \\ 0 & 1 \end(pmatrix) \)

cu aceasta comanda:

O< - matrix (c (1 , 0 , 1 , 1 ) , 2 , 2 )

apoi va apărea în fila „Mediu”:

Orice funcție pe care o folosim ne cere să atribuim niște valori anumitor parametri. In functie matrice() există următorii parametri:

  • date – vector cu date care ar trebui scrise în matrice,
  • nrow – numărul de rânduri din matrice,
  • ncol – numărul de coloane din matrice,
  • byrow - parametru logic. Dacă „TRUE” (adevărat), atunci matricea va fi completată pe rânduri (de la stânga la dreapta, rând cu rând). Implicit, acest parametru este setat la FALSE.
  • dimnames - o foaie cu nume de rânduri și coloane.

Unii dintre acești parametri au valori implicite (de exemplu, byrow = FALS), în timp ce altele pot fi omise (de exemplu, dimnames).

Unul dintre trucurile lui „R” este că orice funcție (de exemplu, nostru matrice()) poate fi abordată prin setarea directă a valorilor:

O altă opțiune este să faceți clic pe numele obiectului din fila „Mediu”.

Matrice

unde matrice este numele funcției care ne interesează. În acest caz, RStudio va deschide panoul „Ajutor” special pentru tine, cu o descriere:

De asemenea, puteți găsi ajutor pentru o funcție introducând numele funcției în fereastra „căutare” (pictogramă cu o lentilă) în fila „Ajutor”.

Dacă nu vă amintiți exact cum să scrieți numele unei funcții sau ce parametri sunt utilizați în ea, începeți să scrieți numele acesteia în consolă și apăsați butonul „Tab”:

Pe lângă toate acestea, puteți scrie scripturi în RStudio. Este posibil să aveți nevoie de ele dacă trebuie să scrieți un program sau să apelați o secvență de funcții. Scripturile sunt create folosind butonul cu semnul plus în colțul din stânga sus (trebuie să selectați „R Script” în meniul drop-down). În fereastra care se deschide după aceasta, puteți scrie orice funcții și comentarii. De exemplu, dacă vrem să trasăm un grafic cu linii peste seria x, o putem face astfel:

complot(x)

linii (x)

Prima funcție construiește un grafic de împrăștiere simplu, iar a doua funcție adaugă linii deasupra punctelor care leagă punctele succesiv. Dacă selectați aceste două comenzi și apăsați „Ctrl+Enter”, acestea vor fi executate, determinând RStudio să deschidă fila „Plot” din colțul din dreapta jos și să afișeze graficul trasat în ea.

Dacă mai avem nevoie de toate comenzile tastate în viitor, atunci acest script poate fi salvat (dischetă în colțul din stânga sus).

În cazul în care trebuie să vă referiți la o comandă pe care ați tastat-o ​​deja cândva în trecut, există o filă „Istoric” în partea dreaptă sus a ecranului. În el puteți găsi și selecta orice comandă care vă interesează și faceți dublu clic pentru a o lipi în consolă. În consola propriu-zisă, puteți accesa comenzile anterioare folosind butoanele Sus și Jos de pe tastatură. Combinația de taste „Ctrl+Up” vă permite să afișați o listă cu toate comenzile recente din consolă.

În general, RStudio are o mulțime de diferite combinatii utile taste care facilitează mult lucrul cu programul. Puteți citi mai multe despre ele.

După cum am menționat mai devreme, există multe pachete pentru R. Toate sunt localizate pe serverul CRAN și pentru a instala oricare dintre ele trebuie să-i cunoașteți numele. Instalarea și actualizarea pachetelor se realizează folosind fila „Pachete”. Mergând la el și făcând clic pe butonul „Instalare”, vom vedea ceva de genul următor meniu:

Să introducem în fereastra care se deschide: prognoza este un pachet scris de Rob J. Hyndman care conține o grămadă de funcții utile pentru noi. Faceți clic pe butonul „Instalare”, după care va fi instalat pachetul „prognoză”.

Alternativ, putem instala orice pachet, cunoscându-i numele, folosind comanda din consolă:

instala. pachete ("netede")

cu condiția ca acesta să fie, desigur, în depozitul CRAN. netezi este un pachet în care dezvolt și întrețin funcții.

Unele pachete sunt disponibile doar în codurile sursă pe site-uri precum github.com și necesită ca acestea să fie compilate mai întâi. Pentru a construi pachete sub Windows, este posibil să aveți nevoie de programul Rtools.

Pentru a utiliza oricare dintre pachetele instalate, trebuie să-l activați. Pentru a face acest lucru, trebuie să îl găsiți în listă și să îl bifați sau să utilizați comanda din consolă:

bibliotecă (prognoză)

O problemă neplăcută poate apărea în Windows: unele pachete sunt ușor de descărcat și asamblat, dar nu sunt instalate în niciun fel. R în acest caz scrie ceva de genul: „Avertisment: nu se poate muta instalația temporară...”. Tot ce trebuie să faceți în acest caz este să adăugați folderul cu R la excepțiile din antivirus (sau să îl dezactivați în timpul instalării pachetelor).

După descărcarea pachetului, toate funcțiile incluse în acesta ne vor fi disponibile. De exemplu, funcția tsdisplay(), care poate fi folosit astfel:

tsdisplay(x)

Ea ne va construi trei grafice, pe care le vom discuta în capitolul „Setul de instrumente pentru prognoză”.

Pe langa pachet prognoza Folosesc pachetul destul de des pentru diverse exemple Mcomp. Conține serii de date din baza de date M-Competition. Prin urmare, vă recomand să îl instalați și dvs.

Foarte des vom avea nevoie nu doar de seturi de date, ci de date din clasa „ts” (seria temporală). Pentru a crea o serie temporală din orice variabilă, trebuie să rulați următoarea comandă:

x< - ts (x , start = c (1984 , 1 ) , frequency = 12 )

Iată parametrul început vă permite să specificați data de la care începe seria noastră temporală și frecvenţă setați frecvența datelor. Numărul 12 din exemplul nostru indică faptul că avem de-a face cu date lunare. Ca urmare a executării acestei comenzi, transformăm vectorul nostru „x” într-o serie temporală de date lunare începând din ianuarie 1984.

Analiza statistică este o parte integrantă a cercetării științifice. Prelucrarea datelor de înaltă calitate crește șansele de a publica un articol într-un jurnal de renume și de a aduce cercetarea la nivel internațional. Există multe programe care pot oferi analize de înaltă calitate, dar cele mai multe dintre ele sunt plătite și adesea licența costă câteva sute de dolari sau mai mult. Dar astăzi vom vorbi despre un mediu statistic pentru care nu trebuie să plătiți și a cărui fiabilitate și popularitate rivalizează cu cele mai bune statistici comerciale. pachete: vă vom prezenta R!

Ce este R?

Înainte de a da o definiție clară, trebuie menționat că R este mai mult decât un program: este un mediu, un limbaj și chiar o mișcare! Vom privi R din unghiuri diferite.

R este un mediu de calcul, dezvoltat de cercetătorii de date, modelare matematicăși lucrul cu grafica. R poate fi folosit ca un simplu calculator, puteți efectua analize statistice simple (de exemplu, ANOVA sau analiză de regresie) și calcule mai complexe care necesită timp, testați ipoteze, construiți grafice vectoriale și hărți. Aceasta nu este o listă completă a ceea ce se poate face în acest mediu. Este de remarcat faptul că este distribuit gratuit și poate fi instalat atât pe Windows, cât și pe sisteme de operare Clasa UNIX (Linux și MacOS X). Cu alte cuvinte, R este gratuit și multiplatform.

R este un limbaj de programare, datorită căruia vă puteți scrie propriile programe ( scenarii) folosirea, precum și utilizarea și crearea extensiilor specializate ( pachete). Un pachet este un set de fișiere cu informații de fundalși exemple adunate într-o singură arhivă. joacă un rol important, deoarece sunt folosite ca extensii suplimentare bazate pe R. Fiecare pachet este de obicei dedicat unui subiect specific, de exemplu: pachetul „ggplot2” este folosit pentru a reprezenta un complot frumos. grafica vectoriala design specific, iar pachetul „qtl” este ideal pentru cartografierea genetică. Există un număr de astfel de pachete în biblioteca R: în acest moment peste 7000! Toate au fost verificate pentru erori și sunt în domeniul public.


R este pentru comunitate/mișcare.
Deoarece R este un produs gratuit și open source, dezvoltarea, testarea și depanarea acestuia nu sunt efectuate de o companie separată cu personal angajat, ci de utilizatorii înșiși. De-a lungul a două decenii, s-a format o comunitate uriașă dintr-un nucleu de dezvoltatori și entuziaști. Conform celor mai recente date, peste 2 milioane de oameni au contribuit într-un fel sau altul la dezvoltarea și promovarea R pe bază de voluntariat, de la traducerea documentației, crearea de cursuri de formare și terminând cu dezvoltarea de noi aplicații pentru știință și industrie. Există un număr mare de forumuri pe Internet unde puteți găsi răspunsuri la majoritatea întrebărilor legate de R.

Cum arată mediul R?

Există multe „cochilii” pentru R, al căror aspect și funcționalitate pot varia foarte mult. Dar ne vom uita pe scurt doar la trei dintre cele mai populare opțiuni: Rgui, Rstudio și R, lansate în terminalul Linux/UNIX ca linie de comandă.


Limbajul R în lumea programelor statistice

În acest moment, există zeci de pachete statistice de înaltă calitate, printre care liderii clari sunt SPSS, SAS și MatLab. Cu toate acestea, în 2013, în ciuda concurenței ridicate, R a devenit cel mai folosit produs software pentru analiza statistica in publicații științifice(http://r4stats.com/articles/popularity/). În plus, în ultimul deceniu, R a devenit din ce în ce mai popular în sectorul de afaceri: companii gigantice precum Google, Facebook, Ford și New York Times îl folosesc în mod activ pentru a colecta, analiza și vizualiza date (http://www.revolutionanalytics). .com/companies-using-r). Pentru a înțelege motivele popularității în creștere a limbajului R, să acordăm atenție acestuia caracteristici comuneși diferențe față de alte produse statistice.

În general, majoritatea instrumentelor statistice pot fi împărțite în trei tipuri:

  1. programe cu interfata grafica , bazat pe principiul „click aici, aici și obține rezultatul final”;
  1. limbaje de programare statistică, care necesită cunoștințe de bază de programare;
  1. "amestecat", care au și o interfață grafică ( GUI), și capacitatea de a crea programe script (de exemplu: SAS, STATA, Rcmdr).

Caracteristicile programelor cu GUI

Programele cu interfață grafică au un aspect familiar pentru utilizatorul obișnuit și sunt ușor de învățat. Dar pentru o soluție sarcini non-triviale nu sunt potrivite pentru că au un set limitat de statistici. metode și este imposibil să scrieți proprii algoritmi în ele. Tipul mixt combină comoditatea unui shell GUI și puterea limbajelor de programare. Cu toate acestea, când comparație detaliată capabilitățile statistice cu limbajele de programare SAS și STATA sunt inferioare atât R, cât și MatLab (compararea metodelor statistice R, MatLab, STATA, SAS, SPSS). În plus, va trebui să plătiți o sumă decentă de bani pentru o licență pentru aceste programe, și singura alternativă gratuită este Rcmdr: un frontend pentru R cu o GUI (Rcommander).

Comparația R cu limbajele de programare MatLab, Python și Julia

Printre limbajele de programare utilizate în calculele statistice, pozițiile de frunte sunt ocupate de R și Matlab. Sunt asemănătoare între ele, ca în aspect, și din punct de vedere al funcționalității; dar au lobby-uri diferite ale utilizatorilor, ceea ce le determină specificul. Din punct de vedere istoric, MatLab s-a concentrat pe științele aplicate ale specialităților de inginerie, deci punctele forte sunt mat. modelare și calcule, plus că este mult mai rapid decât R! Dar din moment ce R a fost dezvoltat ca un limbaj cu profil îngust pentru prelucrare statistică date, apoi multe statistici experimentale. au apărut şi s-au consolidat în ea metode. Acest fapt și costul său zero au făcut din R o platformă ideală pentru dezvoltarea și utilizarea de noi pachete utilizate în științele de bază.

Alte limbi „concurente” sunt Python și Julia. În opinia mea, Python, fiind un limbaj de programare de uz general, este mai potrivit pentru prelucrarea datelor și colectarea de informații folosind tehnologii web decât pentru analiza statistică și vizualizare (principalele diferențe dintre R și Python sunt bine descrise). Dar limbajul statistic Julia este un proiect destul de tânăr și ambițios. Caracteristica principală a acestui limbaj este viteza de calcul, în unele teste depășind R de 100 de ori! În timp ce Julia se află într-un stadiu incipient de dezvoltare și are puțin pachete suplimentareși adepți, dar pe termen lung Julia este poate singurul potențial competitor al lui R.

Concluzie

Astfel, limbajul R este acum unul dintre cele mai importante instrumente statistice din lume. Este utilizat activ în genetică, biologie moleculară și bioinformatică, științe ale mediului (ecologie, meteorologie) și discipline agricole. R este, de asemenea, din ce în ce mai utilizat în prelucrarea datelor medicale, înlocuind pachetele comerciale precum SAS și SPSS de pe piață.

Avantajele mediului R:

  • gratuit și multiplatform;
  • arsenal bogat de statistici. metode;
  • grafică vectorială de înaltă calitate;
  • peste 7000 de pachete testate;
  • flexibil de utilizare:
    - vă permite să creați/editați scripturi și pachete,
    - interacționează cu alte limbaje, cum ar fi: C, Java și Python,
    - poate lucra cu formate de date pentru SAS, SPSS si STATA;
  • comunitate activă de utilizatori și dezvoltatori;
  • actualizări regulate, documentație bună și suport tehnic. sprijin.

Defecte:

  • o cantitate mică de informații în limba rusă (deși în ultimii cinci ani au apărut mai multe cursuri de formare și cărți interesante);
  • dificultate relativă de utilizat pentru un utilizator nefamiliar cu limbajele de programare. Acest lucru poate fi parțial netezit lucrând în shell-ul Rcmdr GUI, despre care am scris mai sus, dar pentru soluții nestandardizate mai trebuie să utilizați linia de comandă.

Lista surselor utile

  1. Site oficial: http://www.r-project.org/
  2. Site pentru începători: http://www.statmethods.net/
  3. Una dintre cele mai bune cărți de referință: The R Book, ediția a doua de Michael J. Crawley, 2012
  4. Lista literaturii disponibile în limba rusă + blog bun

În august 1993, doi tineri oameni de știință din Noua Zeelandă de la Universitatea din Auckland și-au anunțat noua dezvoltare, pe care au numit-o R. Potrivit creatorilor, Robert Gentleman și Ross Ihaka, ar fi trebuit să fie o nouă implementare a limbajului S, diferită de S-PLUS cu unele detalii, de exemplu, manipularea variabilelor globale și locale, precum și lucrul cu memoria. De fapt, nu au creat un analog complet al lui S-PLUS, ci o nouă „ramură” pe „arborele S”. Multe dintre lucrurile care disting R de S-PLUS se datorează influenței limbajului Scheme (un limbaj de programare funcțional, unul dintre cele mai populare dialecte ale limbajului Lisp).

Până la jumătatea anului 2016, R ajunsese din urmă cu SAS și SPSS (care sunt plătite) și a devenit unul dintre cele mai comune trei sisteme de procesare a informațiilor statistice. De asemenea, trebuie remarcat faptul că R este unul dintre cele 10 limbaje de programare de uz general.

Posibilitati

Multe metode statistice sunt implementate în mediul R: modele liniare și neliniare, testarea ipotezelor statistice, analiza seriilor temporale, clasificarea, gruparea, vizualizarea grafică. Limbajul R vă permite să vă definiți propriile funcții. Multe funcții R sunt scrise în R în sine sarcini complexe Este posibil să implementați funcții în C, C++ și Fortran. Utilizatorii avansați pot accesa direct obiectele R din codul C R este un limbaj mai riguros orientat pe obiecte decât majoritatea limbajelor de calcul statistic. Funcțiile grafice vă permit să creați grafice de bună calitate a imprimării, cu posibilitatea de a include simboluri matematice. Are propriul format de documentare asemănător LaTeX.

Deși R este cel mai adesea folosit pentru calculul statistic, poate fi folosit și ca instrument de calcul matriceal. La fel ca MATLAB, R tratează rezultatul oricărei operații numerice ca un vector de lungime unitară. În general, nu există scalari în R.

Scripturi

Doar deschideți o sesiune R și introduceți comenzi în fereastra programului, una după alta - aceasta este doar una dintre ele moduri posibile lucru. O metodă mult mai productivă, care este și un avantaj major al lui R, este crearea de scripturi (programe), care sunt apoi încărcate în R și interpretate de acesta. Încă de la începutul muncii dvs., ar trebui să creați scripturi, chiar și pentru sarcini care par banale - acest lucru va economisi timp semnificativ în viitor. Crearea de scenarii din orice motiv și chiar fără un motiv special este unul dintre fundamentele culturii muncii în R.

Pachete

Încă un lucru avantaj important R - prezența a numeroase extensii sau pachete pentru acesta. Unele pachete de bază sunt prezente imediat după instalarea R pe computer, fără ele sistemul pur și simplu nu funcționează (de exemplu, un pachet numit bază sau pachetul grDevices, care controlează rezultatul graficelor), precum și pachetele „recomandate” (un pachet pentru clusterul specializat de analiză a clusterelor, un pachet pentru analiza modelelor neliniare nlme și altele). În plus, puteți instala oricare dintre cele aproape opt mii de pachete (de la jumătatea anului 2016) disponibile pe CRAN. Dacă aveți acces la Internet, acest lucru se poate face direct din R folosind comanda install.packages().

Legături

  • CRAN (Comprehensive R Archive Network) este un sistem central de stocare și distribuție pentru R și pachetele sale.