Programmeren in R: de basis: Controlestructuren
Logische uitdrukkingen
Een logische uitdrukking, ook wel boolse expressie genaamd, is een uitdrukking die evalueert naar de waarheidswaarde True
of False
. Ze worden vaak met relationele operatoren ==
, !=
, <
, >
, <=
en >=
opgebouwd. Bekijk de verschillende instructies en hun uitvoer in onderstaande voorbeeldsessie
> w <- 5 # wijs een waarde toe aan een variabele
> is.integer(w) # w een integer object?
[1] FALSE
> is.double(w) # w een double object?
[1] TRUE
> is.numeric(w) # w een numeriek object?
[1] TRUE
> w == 5 # w gelijk aan 5?
[1] TRUE
> w == as.integer(w) # integer waarde van w gelijk aan die van w zelf?
[1] TRUE
> w == 5.0 # w gelijk aan 5.0
[1] TRUE
> w == 5/3*3 # w exact gelijk aan berekende waarde van 5?
[1] TRUE
> w == 9/5*3*7*25/189 # w exact gelijk aan berekende waarde van 5?
[1] FALSE
> 9/5*3*7*25/189 # getoond resultaat van numerieke berekening
[1] 5
> w != 9/5*3*7*25/189 # w ongelijk aan berekende waarde dicht bij 5?
[1] TRUE
> w == as.integer(9/5*3*7*25/189)
[1] TRUE
> w > 5 # w groter dan 5?
[1] FALSE
> w <= 5 # w kleiner dan of gelijk aan 5?
[1] TRUE
> w >= 5 # w groter dan of gelijk aan 5?
[1] TRUE
Logische uitdrukkingen kunnen gecombineerd worden met logische operatoren &
, |
en !
voor "en", "of", en "niet". Onderstaande interactieve R sessie illustreert dit.
> ! TRUE [1] FALSE > ! FALSE [1] TRUE > for (b1 in c(TRUE,FALSE)) { + for (b2 in c(TRUE, FALSE)) { + cat(b1,"&",b2, "-->", b1 & b2, "\n") + cat(b1,"|",b2, "-->", b1 | b2, "\n") + } + } TRUE & TRUE --> TRUE TRUE | TRUE --> TRUE TRUE & FALSE --> FALSE TRUE | FALSE --> TRUE FALSE & TRUE --> FALSE FALSE | TRUE --> TRUE FALSE & FALSE --> FALSE FALSE | FALSE --> FALSE
Ontgrendel volledige toegang