logical {base} | R Documentation |

## Logical Vectors

### Description

Create or test for objects of type `"logical"`

, and the basic
logical constants.

### Usage

```
TRUE
FALSE
T; F
logical(length = 0)
as.logical(x, ...)
is.logical(x)
```

### Arguments

`length` |
a non-negative integer specifying the desired length. Double values will be coerced to integer: supplying an argument of length other than one is an error. |

`x` |
object to be coerced or tested. |

`...` |
further arguments passed to or from other methods. |

### Details

`TRUE`

and `FALSE`

are reserved words denoting logical
constants in the **R** language, whereas `T`

and `F`

are global
variables whose initial values set to these. All four are
`logical(1)`

vectors.

`as.logical`

is a generic function. Methods should return an object
of type `"logical"`

.

Logical vectors are coerced to integer vectors in contexts where a
numerical value is required, with `TRUE`

being mapped to
`1L`

, `FALSE`

to `0L`

and `NA`

to `NA_integer_`

.

### Value

`logical`

creates a logical vector of the specified length.
Each element of the vector is equal to `FALSE`

.

`as.logical`

attempts to coerce its argument to be of logical
type. In numeric and complex vectors, zeros are `FALSE`

and
non-zero values are `TRUE`

.
For `factor`

s, this uses the `levels`

(labels). Like `as.vector`

it strips attributes including
names. Character strings `c("T", "TRUE", "True", "true")`

are
regarded as true, `c("F", "FALSE", "False", "false")`

as false,
and all others as `NA`

.

`is.logical`

returns `TRUE`

or `FALSE`

depending on
whether its argument is of logical type or not.

### References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
*The New S Language*.
Wadsworth & Brooks/Cole.

### See Also

`NA`

, the other logical constant.
Logical operators are documented in `Logic`

.

### Examples

```
## non-zero values are TRUE
as.logical(c(pi,0))
if (length(letters)) cat("26 is TRUE\n")
## logical interpretation of particular strings
charvec <- c("FALSE", "F", "False", "false", "fAlse", "0",
"TRUE", "T", "True", "true", "tRue", "1")
as.logical(charvec)
## factors are converted via their levels, so string conversion is used
as.logical(factor(charvec))
as.logical(factor(c(0,1))) # "0" and "1" give NA
```

*base*version 4.4.0 Index]