【发布时间】:2017-01-13 03:19:18
【问题描述】:
我有一种情况,我想根据向量中每个位置的 TRUE / FALSE 组合检测两个逻辑命名向量之间的条件。例如:
x <- c(TRUE, FALSE, FALSE, TRUE)
names(x) <- c("a", "b", "c", "d")
y <- c(TRUE, TRUE, FALSE, FALSE)
names(y) <- names(x)
对于这两个向量中的每个元素,我想检测 3 个条件:
-
x[i]是TRUE和y[i]是TRUE; -
x[i]是FALSE和y[i]是TRUE, -
x[i]是TRUE和y[i]是FALSE。
x 和 y 的长度相同,但可能比此示例更长。我想检索每个条件的元素名称并将元素名称分配给一个新变量。对于这个例子:
v1 <- "a"
v2 <- "b"
v3 <- "d"
在这两个向量的较长版本中,我可能会得到类似的结果:
v1 <- c("a", "e")
v2 <- c("b", "f", "g")
v3 <- c("d", "i", "k", "l")
什么是最好的矢量化方式来做到这一点。我认为这很简单,但我无法想出答案。提前致谢。
【问题讨论】: