R 如何组合逻辑向量?
早上好 我正在用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 如果存在多个向量,请将其放入列表中,并
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