Ricerca…


introduzione

Logico è una modalità (e una classe implicita) per i vettori.

Osservazioni

Abbreviazione

TRUE , FALSE e NA sono gli unici valori per i vettori logici; e tutte e tre sono parole riservate. T e F possono essere abbreviazioni di TRUE e FALSE in una sessione R pulita, ma né TF sono riservati, quindi l'assegnazione di valori non predefiniti a tali nomi può mettere in difficoltà gli utenti.

Operatori logici

Esistono due tipi di operatori logici: quelli che accettano e restituiscono vettori di qualsiasi lunghezza (operatori elementwise: ! , | , & , xor() ) e quelli che valutano solo il primo elemento in ogni argomento ( && , || ). Il secondo ordinamento viene principalmente utilizzato come argomento cond per la funzione if .

Operatore logico Senso Sintassi
! Non !X
& element-wise (vectorized) e x & y
&& e (solo elemento singolo) x && y
| element-wise (vectorized) o x | y
|| o (solo elemento singolo) x || y
xor element-wise (vectorized) OR esclusivo xor (x, y)

Si noti che || l'operatore valuta la condizione di sinistra e se la condizione di sinistra è VERO, la parte destra non viene mai valutata. Questo può far risparmiare tempo se il primo è il risultato di un'operazione complessa. Analogamente, l'operatore && restituirà FALSE senza la valutazione del secondo argomento quando il primo elemento del primo argomento è FALSE.

> x <- 5
> x > 6 || stop("X is too small")
Error: X is too small
> x > 3 || stop("X is too small")
[1] TRUE

Per verificare se un valore è logico, puoi utilizzare la funzione is.logical() .

Coercizione

Per forzare una variabile su una logica, utilizzare la funzione as.logical() .

> x <- 2
> z <- x > 4
> z
[1] FALSE
> class(x)
[1] "numeric"
> as.logical(2)
[1] TRUE

Quando si applica as.numeric() a un logico, verrà restituito un doppio. NA è un valore logico e un operatore logico con una NA restituirà NA se il risultato è ambiguo.

Interpretazione di NA

Vedi i valori mancanti per i dettagli.

> TRUE & NA
[1] NA
> FALSE & NA
[1] FALSE
> TRUE || NA
[1] TRUE
> FALSE || NA
[1] NA


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow