R 删除包含值的行后面的所有行
我试图删除一个或多个值之后的所有行,但遇到了一些问题 我想做与此相反的事情: 使用上述问题中的示例数据帧:R 删除包含值的行后面的所有行,r,R,我试图删除一个或多个值之后的所有行,但遇到了一些问题 我想做与此相反的事情: 使用上述问题中的示例数据帧: (dat<-data.frame(a= c("pete", "mike", "bob", "bart", "bob"), b=c(1,2,3,4,5), c=c("home", "away", "home", "aw
(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
以下是我到目前为止所做的尝试:
dat %>% slice(which.min(a == "bob") : n())
但是不像.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max.max
library(dplyr)
dat %>%
slice(seq(which.max(a == 'bob')))
或使用
cumsum
dat %>%
filter(lag(cumsum(a == 'bob'), default = 0) < 1)
使用行编号()
:
库(dplyr)
dat%>%过滤器(row_number()尝试dat%>%切片(1:which.max(a==“bob”))
。
dat %>%
filter(lag(cumsum(a == 'bob'), default = 0) < 1)
dat[seq_len(match('bob', dat$a)),]
library(dplyr)
dat %>% filter(row_number() <= match('bob', a))
# a b c
#1 pete 1 home
#2 mike 2 away
#3 bob 3 home