I\'m trying to filter out whole rows in R, but only if the frequencies for a particular set don\'t add up to more than 5.
The data I have looks a bit like this. It\'s
We need to get the sum
of 'FREQUENCY' and check whether it is greater than 5 in the filter
after grouping by 'HEADWORD'
Words1 %>%
group_by(HEADWORD) %>%
filter(sum(FREQUENCY) >5)
# HEADWORD VARIANT FREQUENCY
# <chr> <chr> <int>
#1 KNIGHT knight 6
#2 KNIGHT kniht 2
#3 KNIGHT knyt 1
You can use base R
ave
function
df[ave(df$FREQUENCY, df$HEADWORD, FUN = sum) > 5, ]
# HEADWORD VARIANT FREQUENCY
#4 KNIGHT knight 6
#5 KNIGHT kniht 2
#6 KNIGHT knyt 1