【问题标题】:Delete only the first row of dataframe that satisfies a condition仅删除满足条件的数据框的第一行
【发布时间】:2018-03-20 12:57:29
【问题描述】:

我只想根据一个条件删除一个数据框行。

但现有代码将删除包含此条件的所有行。但我只想删除满足条件的第一行。

我该怎么做?

【问题讨论】:

  • 您需要更加具体。这是典型的很快就会结束的问题。请举一个条件的例子。和一个数据框。同时,将which(condition)[1] 视为您的df 的索引。

标签: r conditional delete-row


【解决方案1】:

这是一个如何删除匹配元素的第一个实例的示例:

> df <- data.frame(x=rep(1:3,3))
> df[,'x']
[1] 1 2 3 1 2 3 1 2 3
> df[which(df$x==2)[1],'x']
[1] 2
> df[-which(df$x==2)[1],'x']
[1] 1 3 1 2 3 1 2 3

【讨论】:

  • -which(z) 不安全。如果条件从未满足,您将获得一个空表,或者使用-which(z)[1],您将获得一个单行的 NA 表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-08
  • 2013-03-23
  • 1970-01-01
相关资源
最近更新 更多