R

Fra TermvaktWiki
Gå til: navigasjon, søk

R er et gratis statistikkprogram som er tilgjengelig både for Windows og Linux. Denne veiledningen tar for seg bruk i både Windows og Linux.


Innhold

Hvordan starte R

I Windows

For å starte R trykker du Windowsknapp (nederst til venstre) -> All Programs -> R -> R 2.7.2 (R ligger med andre ord i Start-menyen). Et eget vindu vil da poppe opp (se bilde under), dette er heretter kalt RGui. Denne inneholder bl.a et "R Console" vindu der du kan angi ulike R-kommandoer.

Rvindu.png

I Linux

Du starter R ved å gi kommandoen R i et kommando-vindu (som xterm). Du vil så komme inn i R-modus der du kan gi ulike R-kommandoer.

Når du starter R ser det slik ut i xterm:

ragnaroh@kuningas ~ $ R

R version 2.7.2 (2008-08-25)
Copyright (C) 2008 The R Foundation for Statistical Computing
ISBN 3-900051-07-0

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> 

Hvordan avslutte R

Gi kommandoen quit() eller q() i R Console-vinduet/shellet, eller trykk på krysset øverst i høyre hjørne i Windows.

> q()
Save workspace image? [y/n/c]:

Hvis du ønsker å lagre det du har jobbet med (varibler og innhold) til neste gang du bruker R trykk: y, hvis ikke trykk: n.

Hvis du lagrer vil denne linjen komme opp neste gang du starter R:

[Previously saved workspace restored]

Hvordan komme i gang

R er en pakke som baserer seg på at du skriver ut ulike kommandoer/funksjonskall, mye likt MATLAB. For de som kjenner statistikkprogrammet Splus, så er R svært likt Splus. De fleste kommandoer kan utføres på samme måte i R og Splus. Når du har startet opp R i Windows, vil du få opp et R Console-vindu der symbolet ">" kommer opp. I Linux får du ved oppstart symbolet ">" i kommandovinduet på samme måte. Etter dette symbolet kan du skrive ulike kommandoer.

Hvis du f.eks ønsker at variablen x skal inneholde tallet 10 skriver du:

> x=10

eller

> x<-10

NB: I R kan du bruke enten "=" eller "<-" for å tilordne variable, de fungerer helt likt.

R printer ikke automatisk ut resultatet når du tilordner variable. (x=10 i R fungerer som x=10; i MATLAB) For å se på hva varibelen x inneholder må du skrive:

> x

du får da utskriften:

[1] 10


Eksempler på bruk og nyttige funksjoner

R kan beregne det meste du trenger innenfor statistikk. Her er noen eksempler på vanlig bruk og funksjoner som er greie å vite om:

Lage en vektor

> z=c(1,2,3,4,5,6)

lager en 1x6-vektor med verdiene 1, 2, 3, 4, 5 og 6.

> dim(z)=c(2,3)

gjør om z til en 2x3-matrise.

z blir da seende slik ut:

> z
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

Gjennomsnitt og standardavvik

> mean(z)

beregner gjennomsnittet til vektoren z.

> sd(z)

beregner standardavviket til vektoren z.


Bruk av sannsynlighetsfordelinger

De vanligste sannsynlighetsfordelingene finnes i R. Blant annet:

  • norm(): normalfordelingen
  • beta(): betafordeling
  • gamma(): gammafordeling
  • binom(): binomialfordeling

Ved å prefikse fordelingsnavnene med en av bokstavene d, p eller r, kan du bruke funksjonene under:

  • tettheten/pdf: (d)
  • kummulativ tetthet/cdf: (p)
  • trekke fra fordelingen: (r)

Eks:

> x = rnorm(n)

lager en vektor x med n tilfeldige variable fra normalfordelingen med mean=0, sd=1 (dette er default hvis du ikke skriver inn mean og sd).

> rnorm(n,10,9)

trekker n tilfeldige variable fra normalfordelingen med mean=10, sd=9

> pnorm(5,1,0.5)

gir sannsynligheten for at en variabel er <=5 i normalfordelingen med mean=1 og sd=0.5

Lage plott

> hist(x)

lager et histogram av x.

> plot(x)

lager forskjellige typer plott av x (histogram, grafer, osv), avhengig av hva x inneholder. I Windows kan du trykke enter for å se neste plott, og hvis du vil lagre plottene dine: hold pekeren over plottet og trykk på høyre museknapp, velg "Save as postscript".


Andre nyttige funksjoner

> summary(x)

printer ut en kort statistisk beskrivelse av variabelen x. Hvis x er en vektor vil den bl.a gi standardavvik, median og gjennomsnitt til elementene i vektoren.


Vanlige problemer og løsninger

Error: syntax error

Dette er den vanligste feilen i R, og betyr at du har feil syntaks, dvs. du har skrevet inn en kommando som ikke er gyldig.

Eks:

  • Multiplikasjon
> n=10
> k=10n
Error: syntax error

Her har vi glemt å bruke * mellom 10 og n for multiplikasjon. Rett syntaks er:

> n=10
> k=10*n
> k
[1] 100
  • Vektorer/arrayer

Tilordningen under ville vært rett i MATLAB, men fungerer ikke i R:

> z=(1,2,3,4,5,6)
Error: syntax error

Rett syntaks er:

> z=c(1,2,3,4,5,6)
> z
[1] 1 2 3 4 5 6

Lage en .R-fil

Når du skal skrive store programmer i R blir det litt tungvint å skrive alt i kommandovinduet, og du har dessuten dårlige lagringmuligheter. Da kan det heller lønne seg å lagre kommandoene i en .R-fil (på samme måte som vi lager .m-filer i MATLAB). Du bruker din vanlige tekstbehandler (f.eks Emacs eller TextPad), og lagrer filen som "filnavn.R". I filen skriver du kommandoene på vanlig måte på hver sin linje. Alt som kommer etter tegnet # på en linje leses som kommentarer.

I Windows kan du også trykke File -> New script i RGui. Du får da opp et R Editor-vindu som du kan skrive koden i. For å lagre filen trykker du på File -> Save.

Eks:

Her er filen "eks.R" som jeg har laget i emacs:

#Dette er en eksempelfil

y=c(10,9,50,100,6)	#lager en vektor med 5 verdier

mean(y)		#finner gjennomsnittet
sd(y)			#finner standardavviket

y			#printer ut y
print(y)		#du kan også skrive dette for å printe ut y

summary(y)		#skriver ut viktig statistisk info om y
plot(y)		#plotter y, plottene blir lagret i fila Rplots.ps i Linux

y2=y*5			#multipliserer alle elementer i y med 5.
y2			#printer ut den nye vektoren

#Slutt på eksempelfil

Kjøre en .R-fil

I Windows

For å kjøre en fil må du først åpne den. Dette gjør du ved å trykke File -> Open Script. Du får da opp et vindu, R Editor, med filen din. Du kan kjøre kommandoer ved å markere de kommandoene du ønsker å kjøre, trykke på høyre museknapp og så på "Run line or selection". Se figuren under:

Rfil.png

Kommandoene du markerer vil bli kjørt i R Console-vinduet.

I Linux

Du må stå i den katalogen filen er lagret i når du kjører den. Min fil, eks.R, er lagret i katalogen privat. For å kjøre eks.R gjør jeg følgende i xterm:

ragnaroh@kuningas ~ $ cd privat
./privat
ragnaroh@kuningas ~/privat $ R --no-save <eks.R> utfil

Generelt kjører man R-filer slik: R [options] [<filnavn][>resultatfil]

Forklaring:

  • --no-save: ønsker ikke å lagre workspace.
  • --save: lagrer workspace til neste gang du bruker R.
  • utfil: filen resultatene mine blir skrevet i. utfil blir lagret i mappen termvakt, og ser slik ut:

For å lese resultatet fra kjøringen kan man derfor f.eks. åpne filen utfil i emacs:

ragnaroh@kuningas ~/privat $ emacs utfil&

utfil skal da inneholde følgende tekst (i tillegg til oppstartteksten til R):

> #Dette er en eksempelfil
>
> y=c(10,9,50,100,6)	#lager en vektor med 5 verdier
>
> mean(y)		#finner gjennomsnittet
[1] 35
> sd(y)		#finner standardavviket
[1] 40.59557
>
> y		        #printer ut y
[1]  10   9  50 100   6
> print(y)	        #du kan også skrive dette for å printe ut y
[1]  10   9  50 100   6
>
> summary(y)	        #skriver ut viktig statistisk info om y
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
      6       9      10      35      50     100
> plot(y)		#plotter y, denne blir lagret som Rplots.ps i den mappa jeg er i.
>
> y2=y*5		#multipliserer alle elementer i y med 5.
> y2		        #printer ut den nye vektoren
[1]  50  45 250 500  30
>
> #Slutt på eksamelfil
>

Lese data fra fil

I statistiske beregninger har man ofte bruk for å tolke store mengde data fra f.eks en tekstfil. I R kan du lese inn data fra tekstfiler blant annet med funksjonen read.table(). Under ser du filen "matpakke.txt"

"klasse"  "antMatpakke" "antElever"
1    	 	10	20
2		8	21
3		5	20
4		10	25
5		8	19
6		1	24
7		5	15

For å lese inn denne filen og legge all informasjonen i variabelen "mat" skriver du følgende:

> mat=read.table("matpakke.txt", header=T)

Forklaring:

  • matpakke.txt: filnavnet
  • header=T: første linje i filen skal tolkes som overskrift til kolonnene

"mat" inneholder nå:

> mat
 klasse antMatpakke antElever
1     1          10        20
2     2           8        21
3     3           5        20
4     4          10        25
5     5           8        19
6     6           1        24
7     7           5        15

Relevante linker og hjelp

Innebygget hjelp i R

I kommandovinduet:

skriv: help("funksjon du trenger hjelp til"), f.eks:

> help(plot)
plot                package:graphics                R Documentation

Generic X-Y Plotting

Description:

Generic function for plotting of R objects.  For more details
about the graphical parameter arguments, see 'par'.

Usage:

plot(x, y, ...)

......OSV.....


I RGui:

Trykk på Help-menyen, her står det meste.

Se også

Eksterne lenker

Personlige verktøy
Navnerom
Varianter
Handlinger
Navigasjon
Kategorier
Programvare
Andre
Translate
Verktøy