R: Programmeringsspråk för statistik och dataanalys (öppen källkod)

Upptäck R — kraftfullt, öppen källkod programmeringsspråk för statistik och dataanalys. Paket, verktyg och algoritmer för avancerad statistisk modellering och visualisering.

Författare: Leandro Alegsa

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.

Användning på andra områden

Språket R är ursprungligen skapat för statistik. Men idag används det också inom många vetenskapliga områden, däribland ekologi.

 

Utvecklingshistorik

En lista över ändringar i R-utgåvorna finns i olika "news"-filer i CRAN (Comprehensive R Archive Network). Nedan listas några viktiga punkter för flera större utgåvor.

Släpp ut

Datum

Beskrivning

0.16

Detta är den sista testversionen.

0.49

1997-04-23

Detta är den äldsta källkodsversionen som för närvarande finns tillgänglig på CRAN. CRAN startade detta datum med tre speglar som inledningsvis innehöll 12 paket.

0.60

1997-12-05

R blir en officiell del av GNU-projektet. Koden lagras och underhålls på CVS.

0.65.1

1999-10-07

De första versionerna av funktionerna update.packages och install.packages för att hämta och installera paket från CRAN.

1.0

2000-02-29

Utvecklarna har förklarat att den är tillräckligt stabil för att användas i produktion.

1.4

2001-12-19

S4-metoder introduceras och den första versionen för Mac OS X blir snart därefter tillgänglig.

1.8

2003-10-08

En flexibel mekanism för hantering av villkor infördes för att signalera och hantera objekt med villkor.

2.0

2004-10-04

Snabb laddning av data med minimal belastning av systemminne.

2.1

2005-04-18

Stöd för UTF-8-kodning. De började också med internationalisering och lokalisering för olika språk.

2.6.2

2008-02-08

Sista versionen med stöd för Windows 95, 98, Me och NT 4.0

2.11

2010-04-22

Stöd för Windows 64-bitars system.

2.12.2

2011-02-25

Sista versionen med stöd för Windows 2000

2.13

2011-04-14

Lägg till en ny kompilatorfunktion som gör det möjligt att snabba upp funktioner genom att konvertera dem till byte-kod.

2.14

2011-10-31

Lägg till obligatoriska namnområden för paket. Ett nytt parallellpaket har lagts till.

2.15

2012-03-30

Nya funktioner för lastbalansering. Förbättrad serialiseringshastighet för långa vektorer.

3.0.0

2013-04-03

Stöd för numeriska indexvärden 231 och större på 64-bitarssystem.

3.3.3

2017-03-06

Sista versionen med stöd för Microsoft Windows XP.

3.4.0

2017-04-21

Just-in-time-kompilering (JIT) av funktioner och slingor till byte-kod aktiverad som standard.

3.5.0

2018-04-23

Paket byte-kompileras som standard vid installationen. Kompakt intern representation av heltalssekvenser. Ett nytt serialiseringsformat har lagts till för att stödja kompakta interna representationer.

3.6.0

2019-04-26

4.0.0

2020-04-24

 

Gemenskaper

R har lokala gemenskaper över hela världen där användarna kan utbyta idéer och lära sig.

Det finns ett växande antal R-evenemang som samlar R-användare, t.ex. konferenser (t.ex. useR!, WhyR?, conectaR, SatRdays) och andra möten.

 

useR! konferenser

Den officiella årliga sammankomsten för R-användare kallas "useR!". Det första evenemanget var useR! 2004 i maj 2004 i Wien, Österrike. Efter att ha hoppat över 2005 har konferensen useR! hållits årligen. Följande konferenser har varit följande:

  • useR! 2006, Wien, Österrike
  • useR! 2007, Ames, Iowa, USA
  • useR! 2008, Dortmund, Tyskland
  • useR! 2009, Rennes, Frankrike
  • useR! 2010, Gaithersburg, Maryland, USA
  • useR! 2011, Coventry, Storbritannien
  • useR! 2012, Nashville, Tennessee, USA
  • useR! 2013, Albacete, Spanien
  • useR! 2014, Los Angeles, Kalifornien, USA
  • useR! 2015, Aalborg, Danmark
  • useR! 2016, Stanford, Kalifornien, USA
  • useR! 2017, Bryssel, Belgien
  • useR! 2018, Brisbane, Australien
  • useR! 2019, Toulouse, Frankrike

Följande konferenser planeras i framtiden:

  • useR! 2020, St. Louis, Missouri, USA (avbokad)
  • useR! 2021, Zürich, Schweiz
 

R-journalen

R Journal är R-projektets refereegranskade tidskrift med öppen tillgång. Den innehåller artiklar om användning och utveckling av språket R.

 

Grundläggande syntax

Följande exempel illustrerar språkets grundläggande syntax och användningen av kommandoradsgränssnittet.

I R är den allmänt föredragna tilldelningsoperatorn en pil bestående av två tecken <-. Även om = kan användas i stället.

> x <- 1:6 # Skapa vektor. > y <- x^2 # Skapa vektor med formel. > print(y) # Skriv ut vektorns innehåll. [1] 1 4 9 16 16 25 36 > mean(y) # Aritmetiskt medelvärde av vektorn. [1] 15.16667 > var(y) # Provvarians för vektorn. [1] 178.9667 > model <- lm(y ~ x) # Linjär regressionsmodell y = A + B * x. > print(model) # Skriv ut modellens resultat.  Anrop: lm(formel = y ~ x) Koefficienter: (Intercept) x -9.333 7.000 > summary(model) # Visa en detaljerad sammanfattning av modellen.  Anrop: lm(formula = y ~ x) Residualer:       1 2 3 4 5 5 6 3.3333 -0.6667 -2.6667 -2.6667 -2.6667 -0.6667 3.3333 Koefficienter:             Skattning Std. fel t värde Pr(>|t|) (Intercept) -9.3333 2.8441 -3.282 0.030453 * x 7.0000 0.7303 9.585 0.000662 *** --- Signif. koder: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' ' 1 Reststandardfel: 3,055 på 4 frihetsgrader Multipel R-kvadrat:  0,9583, justerat R-kvadrat: 0,9583:  0,9478 F-statistik: 91,88 för 1 och 4 frihetsgrader, p-värde: 0,000662 > par(mfrow = c(2, 2))  # Skapa en 2 x 2 layout för figurer. > plot(model) # Utdata diagnostiska diagram för modellen.

Diagnostic plots from plotting “model” (q.v. “plot.lm()” function). Notice the mathematical notation allowed in labels (lower left plot).

 

 


Sök
AlegsaOnline.com - 2020 / 2025 - License CC3