R 如何组合逻辑向量?

R 如何组合逻辑向量?,r,concatenation,R,Concatenation,早上好 我正在用R编码。 我有三个逻辑向量: 1 2 3 4 5 6 a T T F F T F b F T F F F F c F F F T F F 我想得到一个向量,告诉我一个位置是否在三个向量中的至少一个被设置为真: 1 2 3 4 5 6 a T T F T T F 我尝试使用: Reduce("&&",a,b,c) 但它不起作用 谢谢你,如果你有任何想法或建议来解决我的问题,在这种情况下,我们可以使用 a|b|c 如果存在多个向量,请将其放入列表中,并

早上好

我正在用R编码。 我有三个逻辑向量:

  1 2 3 4 5 6
a T T F F T F
b F T F F F F
c F F F T F F
我想得到一个向量,告诉我一个位置是否在三个向量中的至少一个被设置为真:

  1 2 3 4 5 6
a T T F T T F
我尝试使用:

Reduce("&&",a,b,c)
但它不起作用


谢谢你,如果你有任何想法或建议来解决我的问题,

在这种情况下,我们可以使用

a|b|c
如果存在多个向量,请将其放入
列表中
,并使用
Reduce
|

Reduce(`|`, list(a, b, c))
数据
a也可以这样做:

Reduce(`+`,list(a,b,c)) > 0
或者更简单地说,可以是:

a+b+c > 0
输入可以是:

a <- c(TRUE, TRUE, FALSE, FALSE, TRUE, FALSE)
b <- c(FALSE, TRUE, FALSE, FALSE, FALSE, FALSE)
c <- c(FALSE, FALSE, FALSE, TRUE, FALSE, FALSE)

由于您的数据是矩阵格式,您可以执行以下操作:

colSums(dat)>0
    1     2     3     4     5     6 
 TRUE  TRUE FALSE  TRUE  TRUE FALSE 
数据:


“至少在一个地方为真”表示“在a、b或c中为真”或效率较低,但对于某些
mapply(any、a、b、c)
> Reduce(`+`,list(a,b,c)) > 0
[1]  TRUE  TRUE FALSE  TRUE  TRUE FALSE
colSums(dat)>0
    1     2     3     4     5     6 
 TRUE  TRUE FALSE  TRUE  TRUE FALSE 
dat=read.table(text="  1 2 3 4 5 6
a T T F F T F
b F T F F F F
c F F F T F F",strip=T,h=T)
names(dat)=1:6