将向量0和1转换为R

时间:2016-04-07 14:23:06

标签: r

令我惊讶的是,我无法在stackoverflow上找到这个问题的现成答案。

在R中,我有01的向量,我想将其转换为二进制向量,0变为F和{{1} }变成1

我怎么能这样做?

由于

4 个答案:

答案 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位值向量。