如何消除符合某些条件的矩阵行?在R

时间:2013-07-08 19:20:05

标签: r matrix conditional-statements

我有这个矩阵:

mm <- matrix(c(1,2,0,0,3,0,0,0,3,4,0,2,2,0,1,0,2,0,0,0,2,0,0,2,0,0,1,0,0,1,0,2,0,1,0,3,0,2,0,3),10,4)

我希望消除所有那些只有一个元素不同于0的行,例如:3 0 0 00 2 0 0,但我想保留这些行超过0一个元素与0不同,为3 1 0 0

对此的任何帮助都将非常感激。

蒂娜。

1 个答案:

答案 0 :(得分:2)

mm[rowSums(mm != 0) > 1,]
#     [,1] [,2] [,3] [,4]
#[1,]    1    0    2    0
#[2,]    2    2    0    2
#[3,]    0    0    2    1
#[4,]    3    1    0    0
#[5,]    0    2    1    0
#[6,]    4    0    1    3