R er eit høgnivå programmeringsspråk og gratis programvaremiljø som primært vert brukt til statistisk databehandling og dataanalyse. Det er favorisert av statistikarar, datavitere og akademikarar for sine kraftige datamanipulasjons-, statistiske modellerings- og grafiske evner. R tilbyr eit breitt spekter av pakkar som utvidar funksjonaliteten, noko som gjer det tilpassingsdyktig for ulike oppgåver innan datagraving, bioinformatikk og til og med maskinlæring.
R vart oppretta tidleg på 1990-talet av Ross Ihaka og Robert Gentleman ved Universitetet i Auckland, New Zealand. Det vart tenkt ut som eit open-kjelde språk basert på S-programmeringsspråket, som vart utvikla ved Bell Laboratories på 1970-talet. R vart designa for å vere både eit statistisk verktøy og eit programmeringsspråk, noko som gjer det enkelt for brukarar å manipulere data og produsere høgkvalitets grafiske utdata.
Gjennom åra har R fått eit aukande brukarfellesskap og eit substansielt tilknytt pakkeøkosystem, kjent som CRAN (Comprehensive R Archive Network). Dette nettverket gjer det mogleg for brukarar å laste ned og installere ulike bibliotek som utvidar R sine evner. På byrjinga av 2000-talet byrja R å få fotfeste i akademiske og industrielle kretser, og vart ofte sitert i forskingsartiklar på tvers av mange domener.
Frå og med 2023 er R framleis eit dominerande språk innan datavitenskap og statistisk analyse. Det har utvikla seg med regelmessige oppdateringar, nye pakkar og eit aktivt fellesskap som bidrar til kontinuerlege forbetringar og oppgraderingar. R er også kjent for sin integrasjon med andre programmeringsspråk og rammeverk, noko som ytterlegare styrker rolla si i moderne dataanalyse.
R har vektorar som ein av sine primære datastrukturar. Ein vektor kan halde fleire verdiar av same type, noko som er essensielt for datamanipulasjon.
numbers <- c(1, 2, 3, 4, 5)
Data frame er ein annan grunnleggjande struktur, som gjer det mogleg å lagre data i eit tabellformat der kvar kolonne kan vere av ulike typar.
data <- data.frame(Name=c("Alice", "Bob"), Age=c(25, 30))
R støttar førsteklasses funksjonar, som gjer det enkelt for brukarar å definere og kalle funksjonar.
add <- function(x, y) {
return(x + y)
}
result <- add(5, 3)
Standard kontrollstrukturar, som if
, else
, og for
-løkker, er integrerte delar av R sin syntaks.
for (i in 1:5) {
print(i)
}
R har omfattande innebygde plottmoglegheiter, som gjer det mogleg å lage visualiseringar med eit enkelt funksjonskall.
plot(data$Age, main="Aldersplott", xlab="Indeks", ylab="Alder")
Brukarar kan installere tilleggspakkar frå CRAN direkte gjennom R ved å bruke funksjonen install.packages()
.
install.packages("ggplot2")
R støttar lister, som kan halde blandingstypar, og miljø som definerer variabelomfang.
my_list <- list(name="Alice", age=25, height=5.5)
Strengar i R kan manipulerast ved hjelp av innebygde funksjonar som paste()
for samansetting.
greeting <- paste("Hallo", "Verden")
R nyttar vektoriserte operasjonar som gjer batchbehandling på datastrukturar mogleg.
squared <- numbers^2
Faktorar vert brukt for å handtere kategoriske data, noko som gjer at R kan behandle dei på ein riktig måte under analyse.
categories <- factor(c("Høg", "Medium", "Lav"))
Flere IDEar er populære blant R-utviklarar:
R fungerer som eit tolka språk ved hjelp av R-tolkaren, som gjer det mogleg med umiddelbar utføring av R-kode. R-verktøypakken gir dei nødvendige komponentane for å bygge R-pakkar dersom du er interessert i å dele koden din.
Typisk er eit R-prosjekt strukturert med skript i ein R/
-mappe, data i ein data/
-mappe, og dokumentasjon i ein docs/
-mappe. Brukarar kan sjekke prosjektet ved hjelp av versjonskontrollsystem som Git.
R vert brukt i ulike felt:
caret
og randomForest
.ggplot2
.Når ein samanliknar med andre språk som Python, er R spesialisert for statistisk analyse og visualisering. Python tilbyr eit breiare bruksområde, men vert stadig meir integrert med datavitenskap gjennom bibliotek som Pandas og NumPy. C++ gir generelt raskare utføring, men manglar R sine statistiske evner.
Java tilbyr robuste løysingar for bedrifter, medan R utmerkar seg i rask analyse og forsking. Språk som SAS eller MATLAB er også tilpassa for statistisk analyse, men er ikkje open-kjelde, medan R blomstrar på grunn av fellesskapsbidrag.
For å omsetje R-kode til andre språk kan eksisterande kilde-til-kilde omsetjingsverktøy som Rcpp for R til C++ vere nyttige for ytelse. I tillegg kan brukarar utforske bibliotek som legg til rette for omsetningar til Python, som rpy2
, som gjer det mogleg å integrere R-funksjonar og dataframes i Python-skript.
Vidare kan verktøy som reticulate
hjelpe med å integrere R i Python-miljø, slik at ein kan bruke R saman med Python-bibliotek sømløst.