En liten introduksjon til R for STK1110

Formaalet med denne innfoeringen er aa gi en liten introduksjon til R. Ytterligere hjelp til bruk av R vil bli gitt i forbindelse med forelesningene og oevelsene

Du kan kopiere kommandoene nedenfor fra web-leseren og lime dem inn i kommandovinduet til R (eller RStudio). Alternativt kan du bruke dette R-scriptet: intro.r.

Alt paa en linje som kommer etter  # er en kommentar, og R hopper over det.

# Du kan bruke R som en kalkulator. For eksempel:

3+2

3-2

3*2

3/2

3^2

sqrt(2)

exp(2)

log(2) 

# Du kan definere skalare variable og regne med dem. For eksempel

a=2                 # alternativt a<-2

b=3

a+b

a*b

a^b 

# Du kan definere vektorer og regne med dem.  For eksempel:

x=c(1,2,3,4)

y=c(0.5,2,4,8)

x+y

y-x

y/x

y^x

# Merk at R regner elementvis (i motsetning av hva some er tilfellet for MATLAB).

# R kan ogsaa utfoere vektor og matrise algebra, men det vil vi ha lite bruk for i STK1110.

# Du kan "trekke ut" ett eller flere elementer av en vektor:

x[2]

y[c(1,3)]

#R kan lage spesielle sekvenser (lagret som vektorer). For eksempel:

c=1:10                    # heltallene fra 1 til 10

d=seq(2,20,2)         # partallene fra 2 til 20

f=rep(1,10)             # tallet 1 gjentatt 10 ganger

# R har en rekke funksjoner som opererer paa vektorer. For eksempel:

sum(x)

prod(x)

length(x)

# Vi kan sammenligne elementene i en vektor (elementvis). For eksempel:

x>y             # stoerre enn

x>=y           # lik eller stoerre enn

x==y           # lik    

x!=y             # ikke lik

#Enkel beskrivende statistikk

# Lagrer dataene i eksempel 7.2 i Devore & Berk i en vektor:

volt=c(24.46, 25.61, 26.25, 26.42, 26.66, 27.15, 27.31, 27.54, 27.74, 27.94, 27.98, 28.04, 28.28, 28.49, 28.50, 28.87, 29.11, 29.13, 29.50, 30.88)

# Beregner gjennomsnitt, median, 10% trimmet gjennomsnitt og standardavvik:

mean(volt)

median(volt)

mean(volt,trim=0.10)

sd(volt)

#Innlesing av data og datarammer

# Vi kan lese data fra en file (eventuelt paa web) inn i en dataramme.

# For eksempel kan vi lese inn dataene i eksempel 10.4 i Devore & Berk med kommandoen

exam.scores=read.table("http://www.uio.no/studier/emner/matnat/math/STK1110/h19/exam.scores.txt", header=T)

#Se paa dataene og skriv ut et sammendrag av dem:

exam.scores         # final er eksamensresultat, mens group angir gruppe (1=kontroll, 2=eksperimentell)

# Du kan adressere variablene i en dataramme ved f.eks

exam.scores$final      #merk at det ikke holde aa skrive final

#Du kan tilknytte datarammen

attach(exam.scores)

#Naa er det nok aa skrive final

# R kan lage en rekke nyttige plott. Et par eksempler:

hist(volt)                                    # histogram (jfr. Devore & Berk side 13-18)

boxplot(volt)                             # boksplott (jfr. Devore & Berk sidene 38-40)

boxplot(final~group)                # boksplott for flere grupper (jfr. Devore & Berk sidene 40-41)

# Flere plott paa samme figur:

par(mfrow=c(2,1))                                     # to plott under hverandre

hist(final[group==1])                                 # histogram for de to gruppene

hist(final[group==2])         

par(mfrow=c(1,1))                                      # stiller tilbake igjen til ett plott

# R har et godt utbygget hjelpesystem som beskriver kommandoene. For eksempel:

help(hist)

# Utlogging og lagring av "workspace"

# Du avslutter R med kommandoen

q()

#Du blir spurt  "Save workspace image?". Hvis du svarer ja paa dette, tar R vare paa alle variable for neste R-sesjon