Take a simple dataset
a <- c(1,2,3,4,5,6,7,8)
b <- c(1,2,2,1,2,2,2,2)
c <- c(1,1,1,2,2,2,3,3)
d <- data.frame(a,b,c)
now I want to filter my data, so that we group_by(c)
and then remove all data where no b=1
occurs.
Thus the results (e
) should look like d
but without the two bottom rows
I have tried using
e <- d %>%
group_by(c) %>%
filter(n(b)>1)
The output should contain the data in green below and remove the data in red
Try
d %>%
group_by(c) %>%
filter(any(b == 1))
Which gives:
#Source: local data frame [6 x 3]
#Groups: c
#
# a b c
#1 1 1 1
#2 2 2 1
#3 3 2 1
#4 4 1 2
#5 5 2 2
#6 6 2 2
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