【发布时间】:2018-03-20 12:57:29
【问题描述】:
我只想根据一个条件删除一个数据框行。
但现有代码将删除包含此条件的所有行。但我只想删除满足条件的第一行。
我该怎么做?
【问题讨论】:
-
您需要更加具体。这是典型的很快就会结束的问题。请举一个条件的例子。和一个数据框。同时,将
which(condition)[1]视为您的df 的索引。
标签: r conditional delete-row
我只想根据一个条件删除一个数据框行。
但现有代码将删除包含此条件的所有行。但我只想删除满足条件的第一行。
我该怎么做?
【问题讨论】:
which(condition)[1] 视为您的df 的索引。
标签: r conditional delete-row
这是一个如何删除匹配元素的第一个实例的示例:
> 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 表。