I have the following dataset:
ID<-rep(c("A","B"),times=c(3,4))
Departure<-c("TRUE","FALSE","TRUE","TRUE","FALSE","FALSE","TRUE")
Date<-c("Jan 1","Jan 2","Jan 3","Jan 1","Jan 2","Jan 3","Jan 4")
data<-data.frame(ID,Departure,Date)
data
ID Departure Date
A TRUE Jan 1
A FALSE Jan 2
A TRUE Jan 3
B TRUE Jan 1
B FALSE Jan 2
B FALSE Jan 3
B TRUE Jan 4
I want to subset this dataset using the following two conditions:
The resulting dataset would look like this:
ID Departure Date
A FALSE Jan 2
A TRUE Jan 3
B FALSE Jan 3
B TRUE Jan 4
Any suggestions regarding how to do this, preferably using dplyr?
Base R
data[
ave(as.logical(data$Departure),data$ID,FUN=function(x){
t=cumsum(!x)
t==max(t)
}),
]
ID Departure Date
2 A FALSE Jan 2
3 A TRUE Jan 3
6 B FALSE Jan 3
7 B TRUE Jan 4
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With