如果该行中的单元格满足某个特征,我试图找出删除矩阵行的方法。例如:
> mm <- matrix(c(1,2,3,2,3,4,1,2,3,4),5,2)
> mm
[,1] [,2]
[1,] 1 4
[2,] 2 1
[3,] 3 2
[4,] 2 3
[5,] 3 4
如果该行中的第一列元素为2,我想删除行。最后我想要这样:
[,1] [,2]
[1,] 1 4
[2,] 3 2
[3,] 3 4
我怎么能这样做?
如果不是删除第一个列元素为2的所有行,而是删除第一列元素对应于列表中包含的一组数字的行,那么更通用的方法呢?例如
delete_list <- c(2,3)
这样做的最佳方式是什么?
提前谢谢你。
答案 0 :(得分:14)
只需使用
mm2 <- mm[mm[,1]!=2,]
这是因为
mm[,1] != 2
返回
[1] TRUE FALSE TRUE FALSE TRUE
基本上你使用这个布尔数组来选择要选择的行。
答案 1 :(得分:2)
未经测试......
newmat <- mm[mm[,1]!=2,]
基本上就是我认为你想要的。
编辑:该死,忍者一分钟!