R Forklaret programmeringsspråk

R er et åpen kildekode-programmeringsspråk og programvaremiljø for statistisk databehandling og grafikk. Det er et av de primære språkene som brukes av dataforskere og statistikere. Den støttes av R Foundation for Statistical Computing og et stort fellesskap av open source-utviklere. Siden R benyttet et kommandolinjegrensesnitt, kan det være en bratt læringskurve for noen individer som er vant til å bruke GUI-fokuserte programmer som SPSS og SAS, slik at utvidelser til R som RStudio kan være svært fordelaktige. Siden R er et open source-program og fritt tilgjengelig, kan det være en stor attraksjon for akademikere hvis tilgang til statistiske programmer er regulert gjennom deres tilknytning til forskjellige høyskoler eller universiteter.

Installasjon

Det første du trenger for å komme i gang med R er å laste det ned fra det offisielle nettstedet i henhold til operativsystemet ditt.

Populære R-verktøy og pakker

  • RStudio er et integrert utviklingsmiljø (IDE) for R. Det inkluderer en konsoll, syntaks-markeringseditor som støtter direkte kodeutførelse, samt verktøy for plotting, historie, feilsøking og arbeidsområdeadministrasjon.
  • Comprehensive R Archive Network (CRAN) er en ledende kilde for R-verktøy og ressurser.
  • Tidyverse er en meningsfull samling av R-pakker designet for datavitenskap som ggplot2, dplyr, readr, tidyr, purr, tibble.
  • data.table er en implementering av base med data.framefokus på forbedret ytelse og kortfattet, fleksibel syntaks.
  • Skinnende rammeverk for å bygge dashbord-stil webapper i R.

Datatyper i R

Vector

Det er en sekvens av dataelementer av samme grunnleggende type. For eksempel:

> o  p  q  o;p;q [1] 1.0 2.0 5.3 6.0 -2.0 4.0 [1] "one" "two" "three" "four" "five" "six" [1] TRUE TRUE FALSE TRUE FALSE

Matrise

Det er et todimensjonalt rektangulært datasett. Komponentene i en matrise må også være av samme grunnleggende type som vektor. For eksempel:

> m = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE) > m >[,1] [,2] [,3] [1,] "a" "a" "b" [2,] "c" "b" "a"

Dataramme

Det er mer generelt enn en matrise, ved at forskjellige kolonner kan ha forskjellige grunnleggende datatyper. For eksempel:

> d  e  f  mydata  names(mydata)  mydata

Lister

Det er et R-objekt som kan inneholde mange forskjellige typer elementer inne i det, som vektorer, funksjoner og til og med en annen liste inne i det. For eksempel:

> list1  list1 [[1]] [1] 2 5 3 [[2]] [1] 21.3 [[3]] function (x) .Primitive("sin")

Funksjoner i R

En funksjon lar deg definere en gjenbrukbar kodeblokk som kan kjøres mange ganger i programmet.

Funksjoner kan navngis og kalles gjentatte ganger eller kan kjøres anonymt på plass (ligner på lambda-funksjoner i python).

Å utvikle full forståelse av R-funksjoner krever forståelse av miljøer. Miljøer er rett og slett en måte å håndtere objekter på. Et eksempel på miljøer i aksjon er at du kan bruke et redundant variabelnavn i en funksjon, som ikke blir påvirket hvis den større kjøretiden allerede har samme variabel. I tillegg, hvis en funksjon kaller en variabel som ikke er definert i funksjonen, vil den sjekke miljøet på høyere nivå for den variabelen.

Syntaks

I R har en funksjonsdefinisjon følgende funksjoner:

  1. Nøkkelordet function
  2. et funksjonsnavn
  3. inngangsparametere (valgfritt)
  4. noen blokk med kode å utføre
  5. en returoppgave (valgfritt)
# a function with no parameters or returned values sayHello() = function(){ "Hello!" } sayHello() # calls the function, 'Hello!' is printed to the console # a function with a parameter helloWithName = function(name){ paste0("Hello, ", name, "!") } helloWithName("Ada") # calls the function, 'Hello, Ada!' is printed to the console # a function with multiple parameters with a return statement multiply = function(val1, val2){ val1 * val2 } multiply(3, 5) # prints 15 to the console

Funksjoner er kodeblokker som kan brukes på nytt ved å ringe funksjonen. Dette muliggjør enkel, elegant kodegjenbruk uten å eksplisitt skrive om deler av koden. Dette gjør koden både mer lesbar, gjør det enklere å feilsøke og begrenser skrivefeil.

Funksjoner i R opprettes ved hjelp av functionnøkkelordet, sammen med et funksjonsnavn og funksjonsparametere i parentes.

Den return()funksjonen kan brukes av funksjonen til en verdi, og blir vanligvis brukt til å tvinge tidlig avslutning av en funksjon med en returnerte verdi. Alternativt vil funksjonen returnere den endelige trykte verdien.

# return a value explicitly or simply by printing sum = function(a, b){ c = a + b return(c) } sum = function(a, b){ a + b } result = sum(1, 2) # result = 3

Du kan også definere standardverdier for parametrene, som R vil bruke når en variabel ikke er spesifisert under funksjonsanrop.

sum = function(a, b = 3){ a + b } result = sum(a = 1) # result = 4

Du kan også sende parametrene i den rekkefølgen du ønsker, ved å bruke navnet på parameteren.

result = sum(b=2, a=2) # result = 4

R can also accept additional, optional parameters with ’…’

sum = function(a, b, ...){ a + b + ... } sum(1, 2, 3) #returns 6

Functions can also be run anonymously. These are very useful in combination with the ‘apply’ family of functions.

# loop through 1, 2, 3 - add 1 to each sapply(1:3, function(i){ i + 1 })

Notes

If a function definition includes arguments without default values specified, values for those values must be included.

sum = function(a, b = 3){ a + b } sum(b = 2) # Error in sum(b = 2) : argument "a" is missing, with no default

Variables defined within a function only exist within the scope of that function, but will check larger environment if variable not specified

double = function(a){ a * 2 } double(x) # Error in double(x) : object 'x' not found double = function(){ a * 2 } a = 3 double() # 6

In-built functions in R

  • R comes with many functions that you can use to do sophisticated tasks like random sampling.
  • For example, you can round a number with the round(), or calculate its factorial with the factorial().
> round(4.147) [1] 4 > factorial(3) [1] 6 > round(mean(1:6)) [1] 4
  • The data that you pass into the function is called the function’s argument.
  • You can simulate a roll of the die with R’s sample()function. The sample() function takes two arguments:a vector named x and a number named size. For example:
> sample(x = 1:4, size = 2) [] 4 2 > sample(x = die, size = 1) [] 3 >dice dice [1] 2 4 >sum(dice) [1] 6
  • If you’re not sure which names to use with a function, you can look up the function’s arguments with args.
> args(round) [1] function(x, digits=0)

Objects in R

R allows to save the data by storing it inside an R object.

What’s an object?

It is just a name that you can use to call up stored data. For example, you can save data into an object like a or b.

> a  a [1] 5

How to create an Object in R?

  1. To create an R object, choose a name and then use the less-than symbol, <, followed by a minus sign, -, to save data into it. This combination looks like an arrow, <-. R will make an object, give it your name, and store in it whatever follows the arrow.
  2. Når du spør R hva som er i a, forteller den deg på neste linje. For eksempel:
> die  die [1] 1 2 3 4 5 6
  1. Du kan navngi et objekt i R nesten hva du vil, men det er noen regler. Først kan et navn ikke starte med et tall. For det andre kan et navn ikke bruke noen spesielle symboler, som ^, !, $, @, +, -, /, or *:
  2. R forstår også store og store bokstaver (eller er store og små bokstaver), så navn og navn vil referere til forskjellige objekter.
  3. Du kan se hvilke objektnavn du allerede har brukt med funksjonen ls().

Mer informasjon:

  • Lær R grunnleggende programmeringsspråk på bare 2 timer med dette gratis kurset om statistisk programmering
  • En introduksjon til nettskraping ved bruk av R
  • En introduksjon til aggregater i R: et kraftig verktøy for å leke med data