R Language
La clase logica
Buscar..
Introducción
Lógico es un modo (y una clase implícita) para vectores.
Observaciones
Taquigrafía
TRUE , FALSE y NA son los únicos valores para vectores lógicos; y los tres son palabras reservadas. T y F pueden ser abreviadas para TRUE y FALSE en una sesión de R limpia, pero ni T ni F están reservados, por lo que la asignación de valores no predeterminados a esos nombres puede hacer que los usuarios tengan dificultades.
Operadores logicos
Hay dos tipos de operadores lógicos: los que aceptan y devuelven vectores de cualquier longitud (operadores elementwise: ! , | , & , xor() ) y los que solo evalúan el primer elemento en cada argumento ( && , || ). La segunda ordenación se usa principalmente como el argumento cond para la función if .
| Operador logico | Sentido | Sintaxis |
|---|---|---|
| ! | No | !X |
| Y | Elemento sabio (vectorizado) y | x & y |
| && | y (solo elemento) | x && y |
| | | Elemento sabio (vectorizado) o | x | y |
| || | o (solo elemento) | x || y |
| xor | Elemento sabio (vectorizado) O exclusivo | xor (x, y) |
Tenga en cuenta que el || el operador evalúa la condición izquierda y si la condición izquierda es VERDADERA, el lado derecho nunca se evalúa. Esto puede ahorrar tiempo si el primero es el resultado de una operación compleja. El operador && también devolverá FALSO sin evaluar el segundo argumento cuando el primer elemento del primer argumento sea FALSO.
> x <- 5
> x > 6 || stop("X is too small")
Error: X is too small
> x > 3 || stop("X is too small")
[1] TRUE
Para verificar si un valor es lógico, puede usar la función is.logical() .
Coerción
Para forzar una variable a un uso lógico de la función as.logical() .
> x <- 2
> z <- x > 4
> z
[1] FALSE
> class(x)
[1] "numeric"
> as.logical(2)
[1] TRUE
Al aplicar as.numeric() a un lógico, se devolverá un doble. NA es un valor lógico y un operador lógico con una NA devolverá NA si el resultado es ambiguo.
Interpretación de las AN
Ver los valores que faltan para más detalles.
> TRUE & NA
[1] NA
> FALSE & NA
[1] FALSE
> TRUE || NA
[1] TRUE
> FALSE || NA
[1] NA