我有一個矩陣和一個向量,其具有的值:搜索具有給定的值的行的矩陣以任何順序
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