2013-11-20 128 views
1

我有一個3列的矩陣。 1.列在行中的值爲1或0。我想刪除矩陣中的所有行,其中1.列等於零(或保留包含1的行)。有條件刪除矩陣中的行

謝謝。

+5

'X [!X [,1] = 0,]'或'X [X [,1] == 1]'' –

回答

2

所以,說你有這樣的矩陣:

A= matrix(c(1, 2, 3, 0, 3, 5, 1, 3, 8),3,3, byrow=T) 

下面的命令會給你的真矢量/ FALSE的每一行,根據第一列是1還是不:

A[,1]==1 

然後,您可以只選擇那些行是這樣的:

FILTERED = A[A[,1]==1,] 

然後你會發現w ^帽子你問在FILTERED

+1

A(:,1)== 1' ??? –

+0

@ JoshO'Brien哎呀抱歉。太多八度:)固定 – Miquel

1

試試這個:

#dummy matrix 
x <- matrix(rep(c(1,0,1),4),ncol=3) 

x 
#  [,1] [,2] [,3] 
# [1,] 1 0 1 
# [2,] 0 1 1 
# [3,] 1 1 0 
# [4,] 1 0 1 

#keep rows where 1st column equals to 1 
x[x[,1] == 1,] 
#  [,1] [,2] [,3] 
# [1,] 1 0 1 
# [3,] 1 1 0 
# [4,] 1 0 1