我有两个矩阵,我想检查第一个中的哪个(列)向量也在第二个中,如果是,则获取它们的索引。
我尝试使用pmatch
但我必须稍微调整它,因为它首先将矩阵转换为向量,请参阅MWE:
X <- matrix(rnorm(12), 3, 4)
x <- X[, c(2, 4)]
pm <- pmatch(x, X)
print(pm)
[1] 4 5 6 10 11 12
d1 <- dim(X)[1]
d2 <- length(pm)/d1
ind <- pmatch(x, X)[d1*c(1:d2)]/d1
print(ind)
[1] 2 4
ind
是我想要的,但我想可能有预建功能。而且我也关心计算效率。
答案 0 :(得分:2)
我们可以遍历&#39; x&#39;并使用==
sapply(seq_len(ncol(x)), function(i) which(!colSums(X != x[,i])))
#[1] 2 4