我想删除所有在某个值(或多个值)之后的行,但是遇到了一些问题。
我想做的是相反的: 过滤掉特定列中出现某个值之前的所有行
使用上述问题中的示例数据框:
(dat<-data.frame(a= c("pete", "mike", "bob", "bart", "bob"), b=c(1,2,3,4,5), c=c("home", "away", "home", "away", "gone")))
a b c
1 pete 1 home
2 mike 2 away
3 bob 3 home
4 bart 4 away
5 bob 5 gone
我希望我的结果看起来像这样:
a b c
1 pete 1 home
2 mike 2 away
3 bob 3 home
目前我尝试了以下方法:
dat %>% slice(which.min(a == "bob") : n())
但与which.max
不同的是,它不会删除bob
之后的任何内容。
dat %>% slice(1 : which.max(a == "bob"))
。该代码会选择第一行到第一个出现"bob"的行之间的所有行。 - dcarlson