Afsnit R.4: Sandhedsvariable

R kan angive sandhedsværdien af en relation mellem to tal. For eksempel vil R give 2>3 værdien "FALSE", og 2<3 værdien "TRUE". I nogle situationer vil TRUE blive opfattet som tallet 1 og FALSE som tallet 0. Følgende relationer giver som resultat en sandhedsværdi:
Logiske værdier kan forbindes med som betyder "og", det vil sige, at begge udsagn skal være sande for, at resultatet er sandt, eller de kan forbindes med |, som betyder "eller", det vil sige, at mindst et udsagn skal være sandt for, at resultatet er sandt.

 > 2<3
  [1] TRUE

 > 2>3
  [1] FALSE

 > x=3
 > (x^2)==9
  [1] TRUE

 > (x^2)!=9
  [1] FALSE

 > (4>3)&(2<3)
  [1] TRUE

 > (4<3)&(2<3)
  [1] FALSE

 > (4<3)&(2>3)
  [1] FALSE

 > (4>3)|(2<3)
  [1] TRUE

 > (4<3)|(2<3)
  [1] TRUE

 > (4<3)|(2>3)
  [1] FALSE

Hvis det er en vektor, der indgår i en relation, finder R sandhedsværdien for hver indgang i vektoren.

 > x=c(1,5,4,2,3)
 > x>2
  [1] FALSE  TRUE  TRUE FALSE  TRUE

 > y=c(2,4,2,3,3)
 > x>y
  [1] FALSE  TRUE  TRUE FALSE FALSE

 > sum(x>y)  # antal sande udsagn, sand=1 og falsk=0
 [1] 2

 > (x>y)*3  # sand=1 og falsk=0
  [1] 0 3 3 0 0

 > (x<5)&(y>2)
  [1] FALSE FALSE FALSE  TRUE  TRUE

En meget nyttig egenskab er, at en vektor med sandshedsværdier kan bruges til at udtage elementer af en vektor.

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

 > z[x>y]
  [1] 2 3

 > x[x>y]
  [1] 5 4

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

ForegåendeNæste