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

整数(0)零长度输出作为data.frame的索引,r,R,假设我有 M <- data.frame(x=1:2,y=3:4) 如何继续?您可以使用行和 M[rowSums(M)!=5,] 如果使用的是apply,则使用逻辑索引而不是数字索引 M[!apply(M, 1, sum)==5,] 与示例中一样,没有一行满足该条件 apply(M, 1, sum)==5 #[1] FALSE FALSE 那么,将给出 which(apply(M, 1, sum)==5) #integer(0) 对不起,误会了。。。我知道我的

假设我有

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

如何继续?

您可以使用
行和

 M[rowSums(M)!=5,]
如果使用的是
apply
,则使用逻辑索引而不是数字索引

 M[!apply(M, 1, sum)==5,]
与示例中一样,没有一行满足该条件

  apply(M, 1, sum)==5
  #[1] FALSE FALSE
那么,
将给出

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

对不起,误会了。。。我知道我的条件不会导致子可附加行(零长度)。我需要获取原始的M,而不是空数据。frame.@MartinHroch
M[rowSums(M)!=5,]
根据您的示例返回整个数据集。在该函数之外不存在“delete”。
  apply(M, 1, sum)==5
  #[1] FALSE FALSE
  which(apply(M, 1, sum)==5)
  #integer(0)