整数(0)零长度输出作为data.frame的索引

时间:2015-04-26 20:58:17

标签: r

假设我有

M <- data.frame(x=1:2,y=3:4)

现在我检查M的元素(),我得到一个空结果

uniqueElements <- apply(M,1,function(x){length(unique(x)})
delete <- which(uniqueElements == 1)

我想删除符合条件的M行=没有删除

M[-delete,]

如何进行?

1 个答案:

答案 0 :(得分:3)

您可以使用rowSums

 M[rowSums(M)!=5,]

如果您使用apply,则使用逻辑索引而不是数字索引

 M[!apply(M, 1, sum)==5,]

如示例中所示,没有一行满足条件

  apply(M, 1, sum)==5
  #[1] FALSE FALSE

所以,which会给出

  which(apply(M, 1, sum)==5)
  #integer(0)