R 标识矩阵中与向量对应的行

R 标识矩阵中与向量对应的行,r,matrix,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)) 对于每个向量(即vec中的行),我想识别mat 注意:我想列出每一行的结果,而不仅仅是unique元素 有没有一种不使用for循环的有效方法 indx1 <

假设一个矩阵包含长度
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))
对于每个向量(即
vec
中的行),我想识别
mat

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

有没有一种不使用for循环的有效方法

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])

indx1这对我来说几乎是好事。唯一的问题是,我需要知道'mat'中每行'vec'的最后一列的值。在当前设置中,我无法获得“vec”中每一行的信息,因为它只列出matso中的唯一元素。基本上,输出应该按照“vec”中向量的顺序。输出的第一行应该对应于“vec”的第一行,依此类推。是的,我理解,但有没有办法让它不是唯一的,而是以相应的顺序对应所有行?
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])