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