
Množinové operátory
all(relace) |
testuje, zda jsou všechny složky relace pravdivé
|
any(relace) |
testuje, zda je alespoň jedna složka relace pravdivá
|
which(relace) |
vrací pořadí těch složek relace, které jsou pravdivé (popř. které splňují danou podmínku). V případě polí můžeme použít argument arr.ind=T pro výpis hodnot v podobě čísel řádků a sloupců, popř. dalších dimenzí
|
x %in% y,is.element(x, y) |
testuje, zda je x podmnožinou množiny y, vrací logické hodnoty
|
intersect(mnoziny) | průnik množin |
union(mnoziny) | sjednocení množin |
setdiff(x, y) |
rozdíl množin, vrací ty prvky vektoru x, které nejsou obsaženy v y
|
> x <- 1:10
> y <- 2:9
> z <- -5:5
> all(z) testuje, zda jsou všechny prvky vektoru z nenulové
[1] FALSE
> all(z > -10) testuje, zda jsou všechny prvky vektoru z větší než -10
[1] TRUE
> any(z)
[1] TRUE
> all(y) >= x[5]
[1] FALSE
> any(x) == any(y)
[1] TRUE
> m <- matrix(2:10, c(3, 3)) matice rozměrů 3x3, jejíž prvky tvoří posloupnost 2:10 seskládána po sloupcích
> which(m > 8 | m == 3)}
[1] 2 8 9
> which(m > 8 | m == 3, arr.ind=T)
> x %in% y
[1] FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
[10] FALSE
> is.element(y, x)
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
> union(x[1:5], y[c(7, 8)])
[1] 1 2 3 4 5 8 9
> intersect(x[1:5], y[c(1, 2, 3)])
[1] 2 3 4
> setdiff(x, y)
[1] 1 10
> setdiff(y, x)
integer(0)
|