It is quite surprise to me that I could not find a ready answer for this question on stackoverflow.
In R, I have a vector of 0
and 1
, and I wan
My comment should have been an answer. You can just do:
as.logical(c(0,1,1,0))
We can use !=
c(0,1,1,0)!=0
#[1] FALSE TRUE TRUE FALSE
If the object size in memory is important (TRUE or FALSE are 56 bits size) a good option is the bit package, that can turn TRUE or FALSE values in a vector in to a 1 bit values vector.
We can use !!
:
rep(0:1, 5)
[1] 0 1 0 1 0 1 0 1 0 1
!!rep(0:1, 5)
[1] FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE
All 0s will be converted to FALSE
, any other numeric to TRUE
.