Afsnit R.1: R som primitiv lommeregner

Her følger nogle eksempler på, hvordan R kan bruges som lommeregner. Den linje, hvor R skriver resultatet på, starter med ``[1]'', som henviser til, at tallet der følger, er det første i en eventuel række af flere tal.

 > 2*3
  [1] 6

 > 2+3
  [1] 5

 > 2-3
  [1] -1

 > 6/2
  [1] 3

 > 3^2
  [1] 9

 > 2+3*2
  [1] 8

 > (2+3)*2
  [1] 10

 > log(exp(10))  # log er den naturlige logaritme
  [1] 10

 > sqrt(4)
  [1] 2

R.1.1 Variable i R

I R indføres variable ved at skrive det navn, man ønsker, og tildele variablen en værdi gennem et lighedstegn. Så selvom man umiddelbart læser "x=2" som "x er lig med 2", bør man retteligt læse dette som "x tildeles værdien 2".

 > x=2

 > y=3

 > z=x*y;

 > z
  [1] 6

 > 3*z
  [1] 18

R.1.2 Vektorer i R

En af styrkerne ved et program som R er, at man kan samle en række tal i en vektor og derefter lave beregninger, der involverer hele vektoren ved simple ordrer. En vektor af længde består af tal nummereret fra 1 til Hvis R indeholder en vektor kan man få fat i for eksempel det tredje element ved at skrive En vektor kan dannes ved at skrive elementerne inden for de runde parenteser i kommandoen c( ) med komma imellem. Bogstavet "c" står her for "combine" eller "concatenate".

 > v=c(3,7,2,-1,2,5)
 > v
  [1]  3  7  2 -1  2  5

 > v[3]  # udtrække det tredje element
  [1] 2

 > v[length(v)] 
  [1] 5
 # sidste element i v idet length(v) angiver antal elementer i v

 > v[c(2,4)]  # udtrække flere elementer
  [1]  7 -1

 > 2*v
  [1]  6 14  4 -2  4 10

 > 2+v
  [1] 5 9 4 1 4 7

 > min(v)
  [1] -1

 > max(v)
  [1] 7

 > which.min(v) # angiver på hvilken plads den mindste værdi står
  [1] 4

 > sum(v)   # sum af alle elementerne
  [1] 18

 > cumsum(v)  # løbende sum af de første i elementer
  [1]  3 10 12 11 13 18

 > exp(v)
  [1]   20.0855369 1096.6331584    7.3890561    0.3678794    7.3890561
  [6]  148.4131591
 # her angiver [6] at nu kommer det sjette element i vektoren

Her følger en række specielle vektorer, der kan angives uden at skrive alle tallene i vektoren.

 > w=c(3:7)

 > w
  [1] 3 4 5 6 7

 > w[2:4]
  [1] 4 5 6

 > w[3:length(w)]
  [1] 5 6 7

 > seq(3,7,length.out=9) # 9 ækvidistante værdier mellem 3 og 7
  [1] 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0

 > seq(3,7,by=1.5) # sekvens startende i 3 og springer med 1.5
  [1] 3.0 4.5 6.0

 > rep(1,5)  # tallet 1 gentages 5 gange
  [1] 1 1 1 1 1

 > rep(c(1,2),c(3,4))  # 1 gentages 3 gange og 2 gentages 4 gange
  [1] 1 1 1 2 2 2 2

R kan både opfatte en vektor af længde som en liste med tal og som en matrix. Med mindre man bruger specielle operatorer, vil R opfatte en vektor som en liste og lave elementvis beregninger.

 > x=c(2,-1,3,8,4)

 > y=c(4,1,0,3,3)

 > x+y
  [1]  6  0  3 11  7

 > x-y
  [1] -2 -2  3  5  1

 > x*y
  [1]  8 -1  0 24 12

 > y/x
  [1]  2.000 -1.000  0.000  0.375  0.750

 > x^2
  [1]  4  1  9 64 16

ForegåendeNæste