令我惊讶的是,我无法在stackoverflow上找到这个问题的现成答案。
在R中,我有0
和1
的向量,我想将其转换为二进制向量,0
变为F
和{{1} }变成1
。
我怎么能这样做?
由于
答案 0 :(得分:4)
我的评论应该是一个答案。你可以这样做:
as.logical(c(0,1,1,0))
答案 1 :(得分:1)
我们可以使用!!
:
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
所有0都将转换为FALSE
,其他任何数字都转换为TRUE
。
答案 2 :(得分:1)
我们可以使用!=
c(0,1,1,0)!=0
#[1] FALSE TRUE TRUE FALSE
答案 3 :(得分:0)
如果内存中的对象大小很重要(TRUE或FALSE为56位大小),位包是一个不错的选择,它可以将向量中的TRUE或FALSE值转换为1位值向量。