我试图过滤掉R中的整行,但前提是特定集合的频率加起来不超过5。
我的数据看起来像这样。这是我目前称为“字”的数据框:
HEADWORD VARIANT FREQUENCY
SWORD sword 2
SWORD swerd 1
SWORD sworde 1
KNIGHT knight 6
KNIGHT kniht 2
KNIGHT knyt 1
我只希望特定单词内的频率加起来大于5的行。因此,在这里,我想保留KNIGHT的所有实例,但我想完全摆脱所有SWORD行。
我尝试在dplyr上执行此操作,但没有成功。这是我尝试的代码:
Words1 %>% group_by(HW) %>% filter(Fr > 5)
我对其他方法一无所知,非常感谢您的帮助!
最佳答案
我们需要获取'FREQUENCY'的sum
并按'HEADWORD'分组后检查filter
中它是否大于5。
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