我正在尝试过滤掉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)
我不知道如何做到这一点,我真的很感激任何帮助!
答案 0 :(得分:6)
我们需要得到'{1}}'FREQUENCY',并在'HEADWORD'分组后检查sum
中是否大于5
filter
答案 1 :(得分:2)
您可以使用base R
ave
功能
df[ave(df$FREQUENCY, df$HEADWORD, FUN = sum) > 5, ]
# HEADWORD VARIANT FREQUENCY
#4 KNIGHT knight 6
#5 KNIGHT kniht 2
#6 KNIGHT knyt 1