R

Fra TermvaktWiki
(Forskjell mellom revisjoner)
Gå til: navigasjon, søk
m (Linker)
m (Kategori)
 
(5 mellomrevisjoner av 3 brukere vises ikke)
Linje 1: Linje 1:
[[Category:Programvare]]
+
'''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.
[[Category:Programmering]]
+
  
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.
 
  
 
+
==Hvordan starte R==
==Hvordan starte R==  
+
 
===I Windows===
 
===I Windows===
  
For å starte R trykker du '''Start -> Programs -> R.''' (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.  
+
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.
+
 
[[Bilde:Rvindu2.jpg]]
+
[[Bilde:Rvindu.png]]
  
 
===I Linux===
 
===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.  
+
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:  
+
Når du starter R ser det slik ut i xterm:
  
  ingebol@zeebrugge ~ $ R
+
  ragnaroh@kuningas ~ $ R
 
   
 
   
  R : Copyright 2005, The R Foundation for Statistical Computing
+
  R version 2.7.2 (2008-08-25)
  Version 2.1.1  (2005-06-20), ISBN 3-900051-07-0
+
Copyright (C) 2008 The R Foundation for Statistical Computing
 +
  ISBN 3-900051-07-0
 
   
 
   
 
  R is free software and comes with ABSOLUTELY NO WARRANTY.
 
  R is free software and comes with ABSOLUTELY NO WARRANTY.
 
  You are welcome to redistribute it under certain conditions.
 
  You are welcome to redistribute it under certain conditions.
 
  Type 'license()' or 'licence()' for distribution details.
 
  Type 'license()' or 'licence()' for distribution details.
 
+
   
  Natural language support but running in an English locale
+
  Natural language support but running in an English locale
 
   
 
   
 
  R is a collaborative project with many contributors.
 
  R is a collaborative project with many contributors.
 
  Type 'contributors()' for more information and
 
  Type 'contributors()' for more information and
 
  'citation()' on how to cite R or R packages in publications.
 
  'citation()' on how to cite R or R packages in publications.
 
+
 
  Type 'demo()' for some demos, 'help()' for on-line help, or
 
  Type 'demo()' for some demos, 'help()' for on-line help, or
  'help.start()' for a HTML browser interface to help.
+
  'help.start()' for an HTML browser interface to help.
 
  Type 'q()' to quit R.
 
  Type 'q()' to quit R.
 
[Previously saved workspace restored]
 
 
   
 
   
 
  >  
 
  >  
Linje 43: Linje 39:
 
==Hvordan avslutte 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.
+
Gi kommandoen quit() eller q() i R Console-vinduet/shellet, eller trykk på krysset øverst i høyre hjørne i Windows.
  
 
  > q()
 
  > q()
  Save workspace image? [y/n/c]:  
+
  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 ø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:
 
Hvis du lagrer vil denne linjen komme opp neste gang du starter R:
+
 
 
  [Previously saved workspace restored]
 
  [Previously saved workspace restored]
  
 
==Hvordan komme i gang==
 
==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.
+
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:  
+
Hvis du f.eks ønsker at variablen x skal inneholde tallet 10 skriver du:
  > x=10  
+
  > x=10
 
eller
 
eller
  > x<-10  
+
  > x<-10
 
'''NB:''' I R kan du bruke enten "=" eller "<-" for å tilordne variable, de fungerer helt likt.
 
'''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:
+
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
 
  > x
 
du får da utskriften:
 
du får da utskriften:
Linje 74: Linje 70:
 
R kan beregne det meste du trenger innenfor statistikk. Her er noen eksempler på vanlig bruk og funksjoner som er greie å vite om:
 
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===  
+
===Lage en vektor===
  
* > z=c(1,2,3,4,5,6)
+
  > z=c(1,2,3,4,5,6)
lager en 1x6-vektor med verdiene 10, 4, og 5
+
lager en 1x6-vektor med verdiene 1, 2, 3, 4, 5 og 6.
  
* > dim(z)=c(2,3)
+
> dim(z)=c(2,3)
  > z
+
gjør om z til en 2x3-matrise.
 +
 
 +
z blir da seende slik ut:
 +
 
 +
> z
 
       [,1] [,2] [,3]
 
       [,1] [,2] [,3]
 
  [1,]    1    3    5
 
  [1,]    1    3    5
 
  [2,]    2    4    6
 
  [2,]    2    4    6
gjør om z til en 2x3-matrise
 
  
 
===Gjennomsnitt og standardavvik===
 
===Gjennomsnitt og standardavvik===
  
* mean(z)
+
> mean(z)
beregner gjennomsnittet til vektoren z
+
beregner gjennomsnittet til vektoren z.
  
* sd(z)
+
> sd(z)
beregner standardavviket til vektoren z
+
beregner standardavviket til vektoren z.
  
  
 
===Bruk av sannsynlighetsfordelinger===
 
===Bruk av sannsynlighetsfordelinger===
  
De vanligste sannsynlighetsfordelingene finnes i R. Blant annet:  
+
De vanligste sannsynlighetsfordelingene finnes i R. Blant annet:
* norm(): normalfordelingen  
+
* norm(): normalfordelingen
 
* beta(): betafordeling
 
* beta(): betafordeling
* gamma(): gammafordeling  
+
* gamma(): gammafordeling
 
* binom(): binomialfordeling
 
* binom(): binomialfordeling
  
Ved å prefikse fordelingsnavnene med en av bokstavene ''d'',''p'' eller ''r'', kan du bruke funksjonene under:
+
Ved å prefikse fordelingsnavnene med en av bokstavene ''d'', ''p'' eller ''r'', kan du bruke funksjonene under:
*tettheten/pdf: (d)
+
*tettheten/pdf: (d)
*kummulativ tetthet/cdf (p)  
+
*kummulativ tetthet/cdf: (p)
*trekke fra fordelingen (r)  
+
*trekke fra fordelingen: (r)
  
 
'''Eks:'''
 
'''Eks:'''
  
* > x = rnorm(n)
+
> 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)
+
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)
+
> rnorm(n,10,9)
 
trekker n tilfeldige variable fra normalfordelingen med mean=10, sd=9
 
trekker n tilfeldige variable fra normalfordelingen med mean=10, sd=9
  
* > pnorm(5,1,0.5)
+
> pnorm(5,1,0.5)
 
gir sannsynligheten for at en variabel er <=5 i normalfordelingen med mean=1 og sd=0.5
 
gir sannsynligheten for at en variabel er <=5 i normalfordelingen med mean=1 og sd=0.5
  
 
===Lage plott===
 
===Lage plott===
  
* > hist(x)  
+
> hist(x)
lager et histogram av x
+
lager et histogram av x.
* > plot(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".  
+
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===
 
===Andre nyttige funksjoner===
  
* > summary(x)
+
> 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.  
+
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.
  
  
Linje 150: Linje 149:
 
  > k=10*n
 
  > k=10*n
 
  > k
 
  > k
  [1] 100
+
[1] 100
  
 
*Vektorer/arrayer
 
*Vektorer/arrayer
  
Tilordningen under ville vært rett i Matlab, men fungerer ikke i R:
+
Tilordningen under ville vært rett i MATLAB, men fungerer ikke i R:
  > z=(1,2,3,4,5,6)  
+
  > z=(1,2,3,4,5,6)
 
  Error: syntax error
 
  Error: syntax error
  
Linje 165: Linje 164:
  
 
==Lage en .R-fil==
 
==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.  
+
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'''.
+
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:'''
 
'''Eks:'''
  
Her er filen "eks.R" som jeg har laget i emacs:  
+
Her er filen "eks.R" som jeg har laget i emacs:
  
  ##Dette er en eksempelfil
+
  #Dette er en eksempelfil
 
   
 
   
 
  y=c(10,9,50,100,6) #lager en vektor med 5 verdier
 
  y=c(10,9,50,100,6) #lager en vektor med 5 verdier
Linje 181: Linje 180:
 
   
 
   
 
  y #printer ut y
 
  y #printer ut y
  print(y) #du kan også skrive dette for å printe ut y
+
  print(y) #du kan også skrive dette for å printe ut y
 
   
 
   
  summary(y) #skriver ut viktig statistisk info om y
+
  summary(y) #skriver ut viktig statistisk info om y
  plot(y) #plotter y, plottene blir lagret i fila Rplots.ps i Linux
+
  plot(y) #plotter y, plottene blir lagret i fila Rplots.ps i Linux
 
   
 
   
 
  y2=y*5 #multipliserer alle elementer i y med 5.
 
  y2=y*5 #multipliserer alle elementer i y med 5.
 
  y2 #printer ut den nye vektoren
 
  y2 #printer ut den nye vektoren
 
   
 
   
  ##Slutt på eksempelfil#
+
  #Slutt på eksempelfil
 
==Kjøre en .R-fil==
 
==Kjøre en .R-fil==
  
 
===I Windows===
 
===I Windows===
  
For å kjøre en fil må du først åpne den. Dette gjør du ved å trykke '''File -> Open Script'''.  
+
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:
 
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:
  
[[Bilde:rfil.jpg]]
+
[[Bilde:rfil.png]]
 +
 
 +
Kommandoene du markerer vil bli kjørt i R Console-vinduet.
  
Kommandoene du markerer vil bli kjørt i R Console-vinduet.
 
 
===I Linux===
 
===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 termvakt. For å kjøre eks.R gjør jeg følgende i xterm:
+
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:
  
  ingebol@brussel ~ $ cd termvakt
+
  ragnaroh@kuningas ~ $ cd privat
  ./termvakt
+
  ./privat
  ingebol@brussel ~/termvakt $ R --no-save <eks.R> utfil
+
  ragnaroh@kuningas ~/privat $ R --no-save <eks.R> utfil
  
 
Generelt kjører man R-filer slik:
 
Generelt kjører man R-filer slik:
R [options] [<filnavn][>resultatfil]
+
R [options] [<filnavn][>resultatfil]
  
 
'''Forklaring:'''
 
'''Forklaring:'''
  
* ''--no-save:''  ønsker ikke å lagre workspace.  
+
* ''--no-save:''  ønsker ikke å lagre workspace.
 
* ''--save:''  lagrer workspace til neste gang du bruker R.
 
* ''--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:
 
* ''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:
  
  > ##Dette er en eksempelfil
+
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
 
  > y=c(10,9,50,100,6) #lager en vektor med 5 verdier
  >  
+
  >
 
  > mean(y) #finner gjennomsnittet
 
  > mean(y) #finner gjennomsnittet
 
  [1] 35
 
  [1] 35
 
  > sd(y) #finner standardavviket
 
  > sd(y) #finner standardavviket
 
  [1] 40.59557
 
  [1] 40.59557
  >
+
  >
 
  > y         #printer ut y
 
  > y         #printer ut y
 
  [1]  10  9  50 100  6
 
  [1]  10  9  50 100  6
>
+
  > print(y)         #du kan også skrive dette for å printe ut y
  > print(y)         #du kan også skrive dette for å printe ut y
+
 
  [1]  10  9  50 100  6
 
  [1]  10  9  50 100  6
 
  >
 
  >
  > summary(y)         #skriver ut viktig statistisk info om y
+
  > summary(y)         #skriver ut viktig statistisk info om y
     Min. 1st Qu.  Median    Mean 3rd Qu.    Max.  
+
     Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
      6      9      10      35      50    100  
+
      6      9      10      35      50    100
>
+
  > plot(y) #plotter y, denne blir lagret som Rplots.ps i den mappa jeg er i.
  > 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=y*5 #multipliserer alle elementer i y med 5.
>
 
 
  > y2         #printer ut den nye vektoren
 
  > y2         #printer ut den nye vektoren
 
  [1]  50  45 250 500  30
 
  [1]  50  45 250 500  30
  >   
+
  >
 +
  > #Slutt på eksamelfil
 +
>
  
 
==Lese data fra fil ==
 
==Lese data fra fil ==
Linje 259: Linje 263:
 
For å lese inn denne filen og legge all informasjonen i variabelen "mat" skriver du følgende:
 
For å lese inn denne filen og legge all informasjonen i variabelen "mat" skriver du følgende:
  
  > mat<-read.table("matpakke.txt", header=T)  
+
  > mat=read.table("matpakke.txt", header=T)
  
 
'''Forklaring:'''
 
'''Forklaring:'''
Linje 266: Linje 270:
  
 
"mat" inneholder nå:
 
"mat" inneholder nå:
 
+
 
  > mat
 
  > mat
  klasse antMatpakke antElever
+
  klasse antMatpakke antElever
  1     1          10        20
+
  1     1          10        20
  2     2          8        21
+
  2     2          8        21
  3     3          5        20
+
  3     3          5        20
  4     4          10        25
+
  4     4          10        25
  5     5          8        19
+
  5     5          8        19
  6     6          1        24
+
  6     6          1        24
  7     7          5        15
+
  7     7          5        15
  
 
==Relevante linker og hjelp==
 
==Relevante linker og hjelp==
Linje 283: Linje 287:
 
'''I kommandovinduet:'''
 
'''I kommandovinduet:'''
  
skriv: help("funksjon du trenger hjelp til"), f.eks:  
+
skriv: help("funksjon du trenger hjelp til"), f.eks:
  
 
  > help(plot)
 
  > help(plot)
Linje 291: Linje 295:
 
   
 
   
 
  Description:
 
  Description:
 
+
    Generic function for plotting of R objects.  For more details
+
Generic function for plotting of R objects.  For more details
    about the graphical parameter arguments, see 'par'.
+
about the graphical parameter arguments, see 'par'.
 
   
 
   
 
  Usage:
 
  Usage:
 
+
    plot(x, y, ...)
+
plot(x, y, ...)
 
   
 
   
 
  ......OSV.....
 
  ......OSV.....
  
  
'''I RGui:'''  
+
'''I RGui:'''
  
Trykk på Help-menyen. Her står det meste :)
+
Trykk på Help-menyen, her står det meste.
  
===Linker===
+
===Se også===
 +
* [[MATLAB]]
  
* [http://mirrors.sunsite.dk/cran/doc/manuals/R-intro.html Manual]  
+
===Eksterne lenker===
 +
 
 +
* [http://mirrors.sunsite.dk/cran/doc/manuals/R-intro.html Manual]
 
* [http://www.r-project.org/  Hjemmesiden til R]
 
* [http://www.r-project.org/  Hjemmesiden til R]
 +
 +
[[Kategori:Programvare]]
 +
[[Kategori:Programmering]]
 +
[[Kategori:Matteprogrammer]]
 +
[[Kategori:Windows]]
 +
[[Kategori:Linux]]

Nåværende revisjon fra 24. mai 2012 kl. 15:31

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