R är ett programmeringsspråk och en fri programvarumiljö för statistik. R är utvecklat särskilt för statistisk analys och datamanipulation. Språket innehåller byggstenar som vektorer, matriser, data.frame och listor, och många statistiska algoritmer implementeras och experimenteras med i R. R är öppen källkod och används i stor utsträckning av statistiker, dataanalytiker och forskare för att utveckla och dela statistiska metoder och programvara.

Ekosystem och paket

En av R:s största styrkor är dess stora paket-ekosystem. Paket distribueras huvudsakligen via CRAN (Comprehensive R Archive Network) och specialiserade arkiv som Bioconductor för bioinformatik. Några vanliga och viktiga paket är ggplot2 (visualisering), dplyr och tidyr (datahantering), data.table (snabb datamanipulation), shiny (interaktiva webbappar) och caret (maskininlärning). Dessa paket gör det möjligt att arbeta effektivt med data från import till modellering och presentation.

Visualisering och rapportering

R har omfattande stöd för visualisering, från enkla diagram med basfunktionerna till avancerade, publikation-kvalitativa figurer med ggplot2. För reproducerbar analys och rapporter används verktyg som R Markdown och knitr, som låter dig kombinera kod, analys och text i samma dokument och exportera till HTML, PDF eller Word. Med shiny kan du dessutom skapa interaktiva webbapplikationer direkt från R-kod.

Prestanda och integration

R är tolkat och kan i vissa fall vara långsammare än kompilerade språk, men det finns flera sätt att förbättra prestanda: paket som data.table är mycket snabba för datamanipulation, och R kan anropa kod skriven i C, C++ eller Fortran för tunga beräkningar. Det finns också stöd för parallell- och distribuerad bearbetning via paket som parallel, future och gränssnitt till Spark. R integreras väl med andra verktyg och språk, t.ex. via paket som reticulate för att använda Python-bibliotek.

Styrkor och begränsningar

  • Styrkor: mycket rikt utbud av statistiska metoder, stort paket-ekosystem, stark community, bra verktyg för visualisering och reproducerbarhet.
  • Begränsningar: minnesmodell som i grunden arbetar i en process kan vara en flaskhals för mycket stora dataset, ibland brant inlärningskurva för användare utan programmeringserfarenhet, och prestanda för vissa uppgifter kan kräva optimering eller extern kod.

Hur man kommer igång

För att börja använda R, ladda ner och installera R från CRAN och överväg att använda en integrerad utvecklingsmiljö som RStudio för enklare arbetsflöde. Installera paket med funktionen install.packages() och läs dokumentationen med help() eller ?funktion. Bra introduktionsresurser är boken R for Data Science av Hadley Wickham och Garrett Grolemund, interaktiva paket som swirl, samt kurser och guider online.

R och Python kompletterar ofta varandra: Python är brett använt för allmän programmering och produktionssystem, medan R traditionellt har ett särskilt fokus på statistik, dataanalys och visualisering. Valet mellan dem beror på uppgiften, men många arbetsflöden kombinerar båda språken.