我有一个矩阵和一个向量,其具有的值:搜索具有给定的值的行的矩阵以任何顺序
mat<-matrix(c(1,1,6,
3,5,2,
1,6,5,
2,2,7,
8,6,1),nrow=5,ncol=3,byrow=T)
vec<-c(1,6)
这是由N矩阵A N的一小部分和1乘N向量。有没有办法让我可以用vec中的值对行进行子集划分?
这样做,我知道的是使用子集函数的最直接的方式:
subset(mat,vec[,1] == 1 & vec[,2] == 6) #etc etc
与子问题是你必须预先指定列查找和具体组合来做。我面临的问题是以这样一种方式构建的,即我想以任何可能的方式查找包含“vec”中的数字的所有行。所以在上面的例子中,我想要得到一个返回矩阵:
1,1,6
1,6,5
8,6,1
任何想法?
这是三个原因一个坏榜样:1)你说你的大案例有一个N乘N矩阵和一个N长矢量,那你为什么不用你的例子? 2)无论您需要匹配其中一个值还是全部,预期输出都是相同的。你接受里卡多的回答,没有注意到他的代码是返回行,只有一个值匹配......现在修复了。 3)你没有描述'vec'会多次包含相同值的特殊情况。 – flodel