En liten introduksjon til R for STK1110
(?rnulf Borgan, august
2010)
Form?let med denne
innf?ringen er ? gi en liten introduksjon til R. Ytterligere hjelp til bruk av
R vil bli gitt i forbindelse med forelesningene og ?velsene.
Du kan kopiere kommandoene nedenfor fra web-leseren og lime dem inn i kommandovinduet til R. Alt p?
en linje som kommer etter? # er en
kommentar, og R hopper over det.
# R som kalkulator
# Du
# For eksempel:
3+2
3-2
3*2
3/2
3^2
sqrt(2)
exp(2)
log(2)
#Skalare variable
# Du kan definere skalare
variable og regne med dem.
# For eksempel:
a=2???? #
alternativt a<-2
b=3
a+b
a*b
a^b
#Vektorer
# 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 ogs? utf?re vektor og matrise algebra, men
det vil vi ikke ha bruk for i STK1110.)
# Du
x[2]
y[c(1,3)]
#Sekvenser
# R
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
#Funksjoner av en vektor
# R har en rekke funksjoner som opererer p?
vektorer.
# For eksempel:
sum(x)
prod(x)
length(x)
# Sammenligning av vektorer
# Vi kan sammenligne elementene i en vector
(elementvis).
# For eksempel:
x>y?????? #
st?rre enn
x>=y????? # lik
eller st?rre 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
# 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/h10/exam.scores.txt",
header=T)
#Se p? dataene og skriv ut et sammendrag av dem:
exam.scores??? # final er
eksamensresultat, mens group angir gruppe
(1=kontroll, 2=eksperimentell)
# Du
exam.scores$final????? #merk at det ikke holde ? skrive final
#Du
attach(exam.scores)
#N? er det nok ? skrive final
#Noen plot
# R
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 p? 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
# Hjelpefunksjoner
# R har et godt utbygget hjelpesystem som beskriver
kommandoene. For eksempel:
help(hist)
# Hvis du ikke hadde kjent navnet kommandoen for
histogram, kunne du ha gitt kommandoen:
help.search("histogram")
# Utlogging og lagring av "workspace"
# Du avslutter R med kommandoen
q()
#Du blir spurt?
"Save workspace image?". Hvis du svarer ja p? dette, tar R
vare p? alle variable for neste R-sesjon
# Oppsett av R
# Hvis du bruker R til ? arbeide med flere
prosjekter, er det lurt ? ha en mappe for hvert prosjekt.
# For STK1110, kan du lage en mappe som heter
STK1110.
# I denne mappen limer du inn et
"shortcut" av R-ikonet.
# Du h?yreklikker s? p? ikonet, og skriver
"C:\Documents and Settings\brukernavn\My Documents\STK1110" i feltet
"Start in"
# N? vil alle R-beregninger i STK1110 bli lagret i
mappen STK1110, og dermed holdt adskilt fra andre R-beregninger