Contacte

Limba r ce. Limbajul de programare R și locul său printre programele statistice. Cum arată mediul R.

Să vorbim puțin despre un limbaj de programare numit R. In timpuri recente Ați putea citi articole pe blogurile noastre despre și acele domenii în care trebuie doar să aveți un limbaj puternic la îndemână pentru a lucra cu statistici și grafice. Și R este unul dintre acestea. Ar putea fi greu pentru un începător în lumea programării să creadă acest lucru, dar astăzi R este deja mai popular decât SQL, este utilizat în mod activ în organizații comerciale, cercetare și universități.

Fără a intra în reguli, sintaxă și utilizări specifice, să trecem doar prin cărțile și resursele esențiale pentru a vă ajuta să învățați R.

Care este limbajul R, de ce ai nevoie de el și cum îl poți folosi cu înțelepciune, poți învăța de la minunatul Ruslan Kuptsov, pe care l-a petrecut acum puțin mai puțin de un an în cadrul GeekWeek-2015.

Cărți

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


Resurse Internet

Oricine dorește să învețe un limbaj de programare trebuie să viziteze două resurse în căutare de cunoștințe: site-ul oficial al dezvoltatorilor săi și cea mai mare comunitate online. Bine. nici nu vom face o excepție pentru R:

Dar, din nou, impregnat de grijă pentru cei care Engleză Nu am reușit să-l învăț încă, dar el chiar vrea să studieze R, vom menționa 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 informative:

CRAN este de fapt un loc în care puteți descărca mediul de dezvoltare R. pe computerul dvs. În plus, manuale, exemple și alte materiale utile de lectură;

Quick-R - pe scurt și clar despre statistici, metodele de prelucrare și limbajul R;

Burns-Stat - despre R și despre predecesorul său S cu sumă uriașă exemple;

R pentru Data Science, o altă carte de la Garrett Grolemund, tradusă într-un manual online;

Awesome R - compilație cod mai bun de pe site-ul oficial, găzduit pe iubitul nostru GitHub;

Mran este limbajul R de la Microsoft;

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

Următorul subiect m-a determinat să scriu acest articol: În căutarea postului perfect sau a enigmei habrului. Faptul este că, după ce am făcut cunoștință cu limbajul R, mă uit extrem de îngrozitor la orice încercări de a calcula ceva în Excel. Dar trebuie să recunosc că l-am cunoscut pe R doar acum o săptămână.

Scop: să colectați date de la HabraHabr-ul dvs. preferat folosind limbajul R și să efectuați, de fapt, pentru ce a fost creat limbajul R și anume: analiza statistică.

Deci, după ce ați citit acest subiect, veți afla:

  • Cum puteți utiliza R pentru a prelua date din resurse web
  • Cum se transformă datele pentru o analiză ulterioară
  • Ce resurse sunt extrem de recomandate pentru oricine dorește să cunoască mai bine R?

Se așteaptă ca cititorul să fie suficient de independent pentru a se familiariza cu structurile de bază ale limbajului. Pentru aceasta, la urma urmei, linkurile de la sfârșitul articolului sunt mai potrivite.

Pregătirea

Vom avea nevoie de următoarele resurse:

După instalare, ar trebui să vedeți așa ceva:

În panoul din dreapta jos, sub fila Pachete, puteți găsi o listă a pachetelor instalate. Trebuie să instalăm suplimentar următoarele:

  • Rcurl - pentru rețea. Oricine a lucrat cu CURL va înțelege imediat toate posibilitățile care se deschid.
  • XML - un pachet pentru lucrul cu arborele DOM al unui document XML. Avem nevoie de o funcționalitate pentru găsirea elementelor de către xpath
Faceți clic pe „Instalați pachete”, selectați-le pe cele de care aveți nevoie, apoi selectați-le cu o bifă pentru a fi încărcate în mediul curent.

Primim date

Pentru a obține un obiect DOM al unui document obținut de pe Internet, este suficient să executați următoarele linii:
url<-"http://habrahabr.ru/feed/posts/habred/page10/" cookie<-"Мои сверхсекретные печеньки" html<-getURL(url, cookie=cookie) doc<-htmlParse(html)
Acordați atenție cookie-urilor transmise. Dacă doriți să repetați experimentul, va trebui să înlocuiți cookie-urile pe care browserul dvs. le primește după autorizarea pe site. În continuare, trebuie să obținem datele care ne interesează, și anume:
  • Când a fost postată postarea
  • Câte vederi au fost acolo
  • Câți oameni au adăugat o intrare la favorite
  • Câte clicuri au fost +1 și -1 (în total)
  • Câte au fost clicuri +1
  • Cât de mult -1
  • Evaluare curentă
  • Numărul de comentarii
Fără a intra în prea multe detalii, voi da imediat codul:
publicat<-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")
Aici am folosit căutarea xpath pentru elemente și atribute.
Mai mult, este foarte recomandat să formați un cadru de date din datele primite - acesta este un analog al tabelelor bazei de date. Va fi posibil să faceți cereri de diferite niveluri de complexitate. Uneori vă întrebați cât de elegant se poate face un lucru în R.
postări<-data.frame(hrefs, published, scoredetailes, scores, pageviews, favs, comments)
După formarea datelor.frame, va fi necesar să corectați datele primite: convertiți liniile în numere, obțineți data reală în format normal etc. O facem astfel:

Postează comentarii $<-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")

De asemenea, este util să adăugați câmpuri suplimentare care sunt calculate din cele deja primite:
scoresplitt<-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")
Aici am transformat mesajele binecunoscute ale formei „Total 35: 29 și ↓ 6” într-o serie de date prin câte acțiuni au fost efectuate în general, câte plusuri și câte minusuri au fost.

În acest sens, putem spune că toate datele sunt primite și convertite într-un format gata de analiză. Am proiectat codul de mai sus ca o funcție gata de utilizare. La sfârșitul articolului, puteți găsi un link către sursă.

Dar cititorul atent a observat deja că, în acest fel, am primit date pentru o singură pagină pentru o serie întreagă. Pentru a obține date pentru o listă întreagă de pagini, a fost scrisă următoarea funcție:

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) }
Aici folosim funcția de sistem Sys.sleep, pentru a nu aranja accidental efectul habra asupra habrului în sine :)
Această funcție se propune a fi utilizată după cum urmează:
postări<-getPostsForPages(10:100, cookie,5)
Astfel, descărcăm toate paginile de la 10 la 100 cu o pauză de 5 secunde. Paginile până la 10 nu sunt interesante pentru noi, deoarece notele nu sunt încă vizibile acolo. După câteva minute de așteptare, toate datele noastre se află în variabila de postări. Vă recomand să le salvați chiar acolo pentru a nu deranja de fiecare dată pe Habr! Acest lucru se face în acest fel:
write.csv (postări, fișier = "posts.csv")
Și o citim după cum urmează:
postări<-read.csv("posts.csv")

Ura! Am învățat cum să obținem date statistice de la Habr și să le salvăm local pentru următoarea analiză!

Analiza datelor

Voi lăsa această secțiune nespusă. Sugerez cititorului să se joace singur cu datele și să obțină propriile concluzii. De exemplu, încercați să analizați dependența dispoziției de plus și minus, în funcție de ziua săptămânii. Voi da doar 2 concluzii interesante pe care le-am făcut.
Utilizatorii Habr sunt mult mai dispuși să adauge decât minus.
Acest lucru poate fi văzut în graficul următor. Observați cât de mult „norul” minusurilor este mai uniform și mai larg decât răspândirea plusurilor. Corelația profesioniștilor față de puncte de vedere este mult mai puternică decât pentru contra. Cu alte cuvinte: dăm plus fără să ne gândim, dar am minus pentru cauză!
(Îmi cer scuze pentru inscripțiile de pe diagrame: încă nu mi-am dat seama cum să le afișez corect în limba rusă)

Există într-adevăr mai multe clase de postări
Această afirmație a fost folosită de la sine înțeles în postarea menționată, dar am vrut să mă asigur de ea în realitate. Pentru a face acest lucru, este suficient să calculați cota medie a plusurilor la numărul total de acțiuni, la fel pentru minusuri și să împărțiți a doua la prima. Dacă totul ar fi uniform, atunci nu ar trebui să observăm multe vârfuri locale pe histogramă, dar ele sunt acolo.


După cum puteți vedea, există vârfuri pronunțate în jurul valorii de 0,1, 0,2 și 0,25. Îi sugerez cititorului să găsească și să „numească” el însuși aceste clase.
Vreau să observ că R este bogat în algoritmi pentru gruparea datelor, pentru aproximare, pentru testarea ipotezelor etc.

Resurse utile

Dacă doriți cu adevărat să vă scufundați în lumea R, vă recomand următoarele link-uri. Vă rugăm să împărtășiți blogurile și site-urile dvs. interesante din secțiunea de comentarii. Există cineva care scrie despre R în limba rusă?

Vreau să vorbesc despre utilizarea mediului gratuit de analiză statistică R. Îl consider o alternativă la pachetele statistice precum SPSS Statistics. Spre regretul meu profund, ea este complet necunoscută în imensitatea Patriei noastre, dar în zadar. Cred că abilitatea de a scrie rutine suplimentare de analiză statistică în S face ca sistemul R să fie un instrument util pentru analiza datelor.

În semestrul de primăvară al anului 2010, am avut ocazia să țin prelegeri și să conduc cursuri practice la cursul „Analiza datelor statistice” pentru studenții Departamentului de sisteme inteligente ale Universității de Stat din Rusia pentru Umanistice.

Studenții mei au urmat un curs semestrial în teoria probabilității care acoperă elementele de bază ale spațiilor de probabilitate discrete, probabilitățile condiționate, teorema lui Bayes, legea „numerelor mari”, unele cunoștințe despre legea normală și teorema limitei centrale.

În urmă cu aproximativ cinci ani, am predat deja cursuri în cursul semestrial (pe atunci încă combinat) „Fundamentele teoriei probabilităților și statisticilor matematice”, așa că mi-am extins notele (date elevilor înainte de fiecare clasă) despre statistici. Acum, când RGGU are un server student isdwiki.rsuh.ru al departamentului, le încarc simultan pe FTP.

A apărut întrebarea: ce program ar trebui să folosesc pentru a desfășura exerciții practice la o oră de calculator? Microsoft Excel adesea folosit a fost respins atât din cauza caracterului proprietar, cât și din cauza implementării incorecte a unor proceduri statistice. Puteți citi despre acest lucru, de exemplu, în cartea lui AA Makarov și Yu.N. Tyurin „Analiza statistică a datelor pe un computer”. Foile de calcul Calc din suita de birou gratuită Openoffice.org au fost rusificate, astfel încât cu greu pot găsi funcția necesară (numele lor au fost, de asemenea, prescurtate dezgustător).

Cel mai frecvent pachet utilizat este SPSS Statistics. SPSS este acum achiziționat de IBM. Printre avantajele IBM SPSS Statistics, voi evidenția:

  • Încărcare convenabilă a datelor de diferite formate (Excel, SAS, prin OLE DB, prin ODBC Direct Driver);
  • Disponibilitatea atât a limbajului de comandă, cât și a sistemului de meniuri ramificate pentru acces direct la diferite proceduri de analiză statistică;
  • Mijloace grafice pentru afișarea rezultatelor;
  • Coach de statistici încorporat care sugerează interactiv o metodă de analiză adecvată.
Dezavantajele Statisticii IBM SPSS, după părerea mea, sunt:
  • Plătit chiar și pentru studenți;
  • Nevoia de a obține module (plătite suplimentar) care conțin proceduri speciale;
  • Sunt acceptate doar sistemele de operare Linux pe 32 de biți, deși sunt acceptate atât Windows pe 32 de biți, cât și pe 64 de biți.
Alternativ, am ales sistemul. Acest sistem a început să fie dezvoltat prin eforturile lui Robert Gentleman și Ross Ihak la Departamentul de Statistică al Universității din Melbourne în 1995. Primele litere ale numelor autorilor i-au determinat numele. Ulterior, statistici de frunte s-au alăturat dezvoltării și extinderii acestui sistem.

Consider avantajele sistemului în discuție:

  • Redistribuirea programului sub licența publică GNU;
  • Disponibilitatea ambelor surse și binare în extinsul CRAN (The Comprehensive R Archive Network). Pentru Rusia, acesta este serverul cran.gis-lab.info;
  • Prezența unui pachet de instalare pentru Windows (funcționează atât pe Vista pe 32 de biți, cât și pe 64 de biți). S-a dovedit întâmplător că instalarea nu necesită drepturi de administrator în Windows XP;
  • Abilitatea de a instala dintr-un depozit în Linux (funcționează pentru mine pe versiunea pe 64 de biți a Ubuntu 9.10);
  • Prezența propriului limbaj de programare pentru procedurile statistice R, care a devenit de fapt un standard. De exemplu, este complet sprijinit de noul IBM SPSS Statistics Developer;
  • Acest limbaj este o extensie a limbajului S dezvoltat la Bell Labs și constituie în prezent baza sistemului comercial S-PLUS. Majoritatea programelor scrise pentru S-PLUS pot fi executate cu ușurință în mediul R;
  • Capacitatea de a face schimb de date cu foi de calcul;
  • Capacitatea de a salva întregul istoric al calculelor în scopuri de documentare.
Pentru prima lecție, a fost pregătit un CD, pe care au fost înregistrate fișierele de instalare, documentația și manualele. Vă voi spune mai multe despre acestea din urmă. CRAN oferă ghiduri detaliate de utilizare pentru instalare, limbajul R (și subsetul său S), scrierea procedurilor statistice suplimentare și exportul și importul de date. Documentația contribuită are un număr mare de publicații ale statisticienilor care folosesc acest pachet în procesul lor de predare. Din păcate, nu există nimic în limba rusă, deși, de exemplu, există chiar poloneză. Din cărțile în limba engleză aș dori să menționez „Utilizarea R pentru statistici introductive” de profesorul John Verzani de la City University din New York și „Introducere în proiectul R pentru calculul statistic” de profesorul Rossiter (Olanda) de la Institutul Internațional de Geoinformatică și Observații ale Pământului.

Prima lecție a fost dedicată instalării și instruirii pentru utilizarea pachetului, familiarizarea cu sintaxa limbajului R. Calculul integralelor prin metoda Monte Carlo a fost folosit ca o problemă de testare. Iată un exemplu de calcul al probabilității de rv. cu distribuție exponențială cu parametrul 3, luați o valoare mai mică de 0,5 (10000 este numărul de încercări).
> x = runif (10000,0,0.5)
> y = runif (10000,0,3)
> t = y<3*exp(-3*x)
> u = x [t]
> v = y [t]
> complot (u, v)
> i = 0,5 * 3 * lungime (u) / 10000

Primele două linii stabilesc distribuția uniformă a punctelor în dreptunghiul x, apoi sunt selectate acele puncte care se încadrează sub graficul densității exponențiale 3 * exp (-3 * x), funcția grafic afișează punctele în fereastra de ieșire grafică, și în cele din urmă se calculează integralul necesar.
Cea de-a doua lecție a fost dedicată calculului statisticilor descriptive (cuantile, mediană, medie, varianță, corelație și covarianță) și graficelor grafice (histograme, cutie și mustăți).
În următoarele lecții, a fost utilizată biblioteca Rcmdr. Este o interfață grafică pentru utilizator (GUI) pentru mediul R. Biblioteca este dezvoltată de profesorul John Fox de la Universitatea McMaster din Canada.

Această bibliotecă este instalată executând comanda install.packages ("Rcmdr", dependențe = TRUE) în mediul R. Dacă mediul în sine este un interpret al limbajului R, atunci programul de completare "Rcmdr" este o fereastră suplimentară echipată cu un sistem de meniu care conține un număr mare de comenzi corespunzătoare procedurilor statistice standard. Acest lucru este convenabil în special pentru cursurile în care principalul lucru este să-l înveți pe elev să apese butoanele (din păcate, sunt din ce în ce mai multe acum).

Notele seminarului de la cursul meu anterior au fost extinse. Acestea sunt disponibile și prin FTP de la isdwiki.rsuh.ru. Aceste note conțineau tabele cu valori critice care au fost utilizate pentru calcule la bord. Anul acesta, elevii au fost rugați să rezolve aceste probleme pe un computer și, de asemenea, să verifice tabelele folosind aproximările (normale) indicate, de asemenea, în note.

Au fost și câteva dintre greșelile mele. De exemplu, mi-am dat seama prea târziu că Rcmdr permite importul de date din pachetele descărcate, astfel încât eșantioane relativ mari au fost procesate doar în clase de analiză de regresie. Când prezintă teste nonparametrice, elevii au introdus datele manual folosind notele mele. Un alt dezavantaj, după cum înțeleg acum, a fost numărul insuficient de teme pentru scrierea unor programe destul de complexe în limbajul R.

Trebuie remarcat faptul că mai mulți studenți seniori au participat la cursurile mele, iar unele materiale au fost descărcate din prelegeri și seminarii. Studenții Departamentului de Sisteme Inteligente ale Universității de Stat din Rusia pentru Științe Umaniste primesc o pregătire fundamentală în matematică și programare, astfel încât utilizarea mediului R (în loc de foi de calcul și pachete statistice cu proceduri statistice fixe) mi se pare foarte utilă.

Dacă vă confruntați cu sarcina de a studia statisticile și, în special, de a scrie proceduri nestandardizate pentru prelucrarea datelor statistice, atunci vă recomand să vă îndreptați atenția asupra pachetului R.

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 majoritatea sunt plătite și adesea o licență costă de la câteva sute de dolari sau mai mult. Dar astăzi vom vorbi despre un mediu statistic care nu trebuie să plătească, iar fiabilitatea și popularitatea acestuia rivalizează cu cele mai bune statistici comerciale. pachete: vom cunoaște R!

Ce este R?

Înainte de a da o definiție clară, trebuie remarcat faptul că R este mai mult decât un simplu program: este atât un mediu, cât și un limbaj, și chiar mișcare! Ne vom uita la R din unghiuri diferite.

R este un mediu de calcul dezvoltat de oamenii de știință pentru prelucrarea datelor, modelarea matematică și grafică. R poate fi folosit ca un calculator simplu, puteți, puteți efectua analize statistice simple (de exemplu, ANOVA sau analiza de regresie) și calcule mai complexe care consumă timp, testați ipoteze, construiți grafică vectorială și hărți. Aceasta nu este o listă completă a ceea ce puteți face în acest mediu. Este demn de remarcat faptul că este distribuit gratuit și poate fi instalat atât pe Windows, cât și pe sistemele de operare din clasa UNIX (Linux și MacOS X). Cu alte cuvinte, R este un produs gratuit și multiplataforma.

R este un limbaj de programare, datorită cărora vă puteți scrie propriile programe ( scripturi) cu ajutorul, precum și utilizarea și crearea de extensii specializate ( pachete). Un pachet este o colecție de fișiere cu informații de ajutor și exemple, reunite î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 utilizat pentru a crea grafice vectoriale frumoase cu un anumit design și „qtl” pachetul este ideal pentru cartografierea genetică ... În prezent, există peste 7000 de astfel de pachete în biblioteca R! Toate acestea sunt verificate pentru erori și sunt în domeniul public.


R este o comunitate / mișcare.
Deoarece R este un produs open source gratuit, dezvoltarea, testarea și depanarea acestuia nu sunt realizate de o companie separată cu personal angajat, ci de utilizatorii înșiși. În ultimele două decenii, s-a format o comunitate uriașă din nucleul dezvoltatorilor și entuziaștilor. Conform celor mai recente date, mai mult de 2 milioane de oameni au ajutat într-un fel sau altul să dezvolte și să promoveze R în mod voluntar, de la traducerea documentației, crearea de cursuri de formare și încheierea cu dezvoltarea de noi aplicații pentru știință și industrie. Există un număr imens de forumuri pe Internet unde puteți găsi răspunsuri la majoritatea întrebărilor legate de R.

Cum arată mediul R?

Există multe „piei” pentru R, care pot varia foarte mult ca aspect și funcționalitate. Dar vom acoperi pe scurt doar trei dintre cele mai populare opțiuni: Rgui, Rstudio și R, care rulează într-un terminal 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 utilizat software de analiză statistică în publicațiile științifice (http://r4stats.com/articles/popularity/). În plus, în ultimul deceniu, R a devenit din ce în ce mai solicitat în sectorul de afaceri: giganți precum Google, Facebook, Ford și New York Times îl folosesc activ pentru a colecta, analiza și vizualiza date (http: // www.revolutionanalytics .com / companies-using-r). Pentru a înțelege motivele popularității crescânde a limbajului R, să acordăm atenție caracteristicilor sale comune și diferențelor față de alte produse statistice.

În general, majoritatea instrumentelor statistice pot fi clasificate în trei tipuri:

  1. Programe GUI pe baza principiului „faceți clic aici, aici și obțineți rezultatul final”;
  1. limbaje de programare statistice cu care sunt necesare abilități de programare de bază;
  1. "amestecat" care au și o interfață grafică ( GUI) și capacitatea de a crea programe de scriptare (de exemplu: SAS, STATA, Rcmdr).

Caracteristicile programelor cu GUI

Programele cu o interfață grafică au un aspect familiar utilizatorului mediu și sunt ușor de învățat. Dar nu sunt potrivite pentru rezolvarea sarcinilor non-banale, deoarece 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, într-o comparație detaliată a capacităților statistice cu limbajele de programare SAS și STATA, atât R, cât și MatLab pierd (compararea metodelor statistice R, MatLab, STATA, SAS, SPSS). În plus, licențele pentru aceste programe vor trebui să plătească o sumă decentă de bani, iar singura alternativă gratuită este Rcmdr: un frontend pentru R cu un GUI (Rcommander).

Compararea R cu limbajele de programare MatLab, Python și Julia

Printre limbajele de programare utilizate în calculele statistice, pozițiile de conducere sunt ocupate de R și Matlab. Sunt asemănătoare unele cu altele, atât ca aspect, cât și ca funcționalitate; dar au lobby-uri diferite pentru utilizatori, ceea ce determină specificul lor. Din punct de vedere istoric, MatLab a fost axat pe științele aplicate ale ingineriei, astfel încât punctele sale forte sunt mat. simulare și calcul și este mult mai rapid decât R! Dar, din moment ce R a fost dezvoltat ca un limbaj cu profil îngust pentru prelucrarea statistică a datelor, multe statistici experimentale. au apărut metode și au fost fixate în ea. Acest fapt și costul zero au făcut din R o platformă ideală pentru dezvoltarea și utilizarea de noi pachete pentru științele de bază.

Alte limbi „concurente” sunt Python și Julia. În opinia mea, Python, fiind un limbaj de programare universal, este mai potrivit pentru procesarea datelor și colectarea informațiilor folosind tehnologii web decât pentru analiza și vizualizarea statistică (principalele diferențe dintre R și Python sunt bine descrise). Dar limbajul statistic Julia este un proiect destul de tânăr și pretențios. Principala caracteristică a acestui limbaj este viteza de calcul, care în unele teste depășește R de 100 de ori! În timp ce Julia se află într-un stadiu incipient de dezvoltare și are puține pachete și adepți suplimentari, pe termen lung, Julia este probabil singurul concurent potențial al lui R.

Concluzie

Astfel, R este în prezent unul dintre instrumentele statistice de top din lume. Este utilizat în mod 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, deplasând pachete comerciale precum SAS și SPSS de pe piață.

Avantajele mediului R:

  • gratuit și multiplataforma;
  • bogat arsenal de stat. metode;
  • grafică vectorială de înaltă calitate;
  • peste 7000 de pachete verificate;
  • flexibil de utilizat:
    - vă permite să creați / editați scripturi și pachete,
    - interacționează cu alte limbaje precum C, Java și Python,
    - poate lucra cu formate de date pentru SAS, SPSS și STATA;
  • comunitate activă de utilizatori și dezvoltatori;
  • actualizări periodice, documentație bună și tehnologie. a sustine.

Dezavantaje:

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

Lista surselor utile

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

Programare pe R. Nivelul 1. Noțiuni de bază

Limbajul R este cel mai popular instrument de analiză a datelor statistice din lume. Acesta conține cea mai largă gamă de capabilități pentru analiza datelor, vizualizare, precum și crearea de documente și aplicații web. Vrei să stăpânești acest limbaj puternic cu un mentor experimentat? Vă invităm la curs "Programare în limbajul R. Nivelul 1. Cunoștințe de bază".

Acest curs este destinat unei game largi de profesioniști care trebuie să caute tipare într-o cantitate mare de date, să le vizualizeze și să construiască concluzii statistice corecte: 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, de asemenea, specialiștii care nu se potrivesc funcționalității (sau plătite) /.

În clasă, veți dobândi abilități de bază în analiza și vizualizarea datelor din mediu R... De cele mai multe ori este dedicat exercițiilor practice și lucrului cu seturi de date reale. Veți învăța toate instrumentele noi pentru lucrul cu datele și veți afla cum să le aplicați în munca dvs.

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



Ți-a plăcut articolul? Împărtășește-l