Często po wykonaniu testu logicznego testowane obiekty mają długość większą niż jeden. R nie lubi tego i ostrzega, że używany jest tylko pierwszy element logiczny. Załóżmy, że chcesz sprawdzić, czy jakikolwiek element obiektu logicznego ma wartość PRAWDA. Wtedy przydatna jest funkcja any (). Funkcja any () zwraca TRUE, jeśli w obiekcie są jakieś wartości TRUE, lub FALSE w przeciwnym razie. Na przykład:
> a.logical=c(T,T,F,T)
> a.logical
[1] TRUE TRUE FALSE TRUE
> test=8
> test
[1] 8
> if (a.logical==T) test=1
Wiadomość ostrzegawcza:
W if (a.logical == T) test = 1:
warunek ma długość> 1 i zostanie użyty tylko pierwszy element
> test
[1] 1
> if (any (a.logical)) test = 2
> test
[1] 2
> if (any (! a.logical)) test = 3
> test
[1] 3
> if (any (! a.logical [1: 2])) test = 4
> test
[1] 3
Zwróć uwagę, że w trzecim i czwartym teście test dotyczy wartości FAŁSZ. The! służy do logicznej negacji obiektu as.logical w teście na FALSE. Więcej informacji na temat any () można znaleźć, wpisując ?any w wierszu polecenia R.