合并R中的向量仅保留特定值

时间:2017-05-12 23:06:40

标签: r vector merge logical-operators

我想合并两个向量,同时保持相同维度的结果向量,但如果满足特定条件,则覆盖值。

在这种情况下,我有两个T和F值向量。我们说

A <- c(T F T F)
B <- c(T T F F)

我想合并它们并获得一个向量,如果它出现在任一向量中,则保留为TRUE,这样

C <- c(T T T F)

获得可以处理任何值的代码(不仅仅是TRUE)会很好,但不是必需的。

花了大约两个小时试图弄清楚这一点没有成功,所以我非常感谢社区的意见。

2 个答案:

答案 0 :(得分:1)

使用布尔运算怎么样?要保留TRUE值,您可能需要执行

> !!(A+B)
[1]  TRUE  TRUE  TRUE FALSE

或保留FALSE值,

> !!(A*B)
[1]  TRUE FALSE FALSE FALSE

但是,这可能不是您想要的,因为此解决方案无法处理非布尔类型。

<小时/> 请注意,MattTyers的答案甚至比我的简单,因为它做布尔操作,将二进制数转换为十进制数。

答案 1 :(得分:1)

比这更容易,只有A | B