识别与向量对应的矩阵中的行

时间:2014-11-20 18:05:01

标签: r matrix

假设一个矩阵包含长度为r的所有位串并按顺序排列。

library(gtools)
mat<-permutations(n = 2, r = 5, v = c(0,1), repeats.allowed = TRUE)
mat<-cbind(mat, round(runif(nrow(mat)), digits = 2))

以及几个带有r元素的向量:

r=5
vec<-t(replicate(100,sample(c(0,1),5,replace=T)))

对于每个向量(即vec中的行),我想在mat

中标识相应的行

注意:我想列出每行的结果,而不仅仅是unique元素。

是否有一种有效的方法可以在不使用for循环的情况下执行此操作?

1 个答案:

答案 0 :(得分:1)

尝试

indx1 <- do.call(`paste0`,as.data.frame(mat[,-6]))
indx2 <- do.call(`paste0`, as.data.frame(vec))
sapply(indx2, function(x) mat[indx1 %in% x,6])