我想合并两个向量,同时保持相同维度的结果向量,但如果满足特定条件,则覆盖值。
在这种情况下,我有两个T和F值向量。我们说
A <- c(T F T F)
B <- c(T T F F)
我想合并它们并获得一个向量,如果它出现在任一向量中,则保留为TRUE,这样
C <- c(T T T F)
获得可以处理任何值的代码(不仅仅是TRUE)会很好,但不是必需的。
花了大约两个小时试图弄清楚这一点没有成功,所以我非常感谢社区的意见。
答案 0 :(得分:1)
使用布尔运算怎么样?要保留TRUE
值,您可能需要执行
> !!(A+B)
[1] TRUE TRUE TRUE FALSE
或保留FALSE
值,
> !!(A*B)
[1] TRUE FALSE FALSE FALSE
但是,这可能不是您想要的,因为此解决方案无法处理非布尔类型。
<小时/> 请注意,MattTyers的答案甚至比我的简单,因为它做布尔操作,将二进制数转换为十进制数。
答案 1 :(得分:1)
比这更容易,只有A | B
。