Instrukcje If i wektory logiczne

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.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *