没有匹配行时,按索引删除行

时间:2017-07-11 14:09:03

标签: r

我想删除由向量x索引的一行矩阵k,例如

x = matrix(1:10, 5, 2)
k = rep(1, 5)

# my attempt:
index = which(k == 0)
y = x[-index, ]
#      [,1] [,2]

此处,没有行符合我的删除条件k == 0,因此index将返回空向量integer(0)。因此,x[-index, ]将返回一个没有行而不是保留自身的矩阵。

我不知道如何处理这个问题,请有人帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

唯一的复杂因素可能是k的大小。 否则这应解决它: 给定x:

  x=cbind(c(1,2,3,4,5,6),c(1,2,3,4,5,6))

  k=c(1,2,0,1,0,2)

然后

  x[!k==0,]