R 如何将不是前10名的所有内容归为;其他";

R 如何将不是前10名的所有内容归为;其他";,r,dplyr,R,Dplyr,我正在尝试创建一个具有因子频率的绘图。但我有70个不同的因素。这就是为什么我想创建一个“其他”组,为不是前10名的所有内容创建一个“其他”组 它目前正在使用top\n()函数创建前10名 ProblemFrequency <- count(Disruptions, 'Problem') Top10 <- top_n(ProblemFrequency, n=10, freq) 我把这两部分分开工作,但我似乎不知道如何把它们结合起来。我正在使用一个闪亮的应用程序,用户可以在其中进行过滤

我正在尝试创建一个具有因子频率的绘图。但我有70个不同的因素。这就是为什么我想创建一个“其他”组,为不是前10名的所有内容创建一个“其他”组

它目前正在使用
top\n()
函数创建前10名

ProblemFrequency <- count(Disruptions, 'Problem')
Top10 <- top_n(ProblemFrequency, n=10, freq)
我把这两部分分开工作,但我似乎不知道如何把它们结合起来。我正在使用一个闪亮的应用程序,用户可以在其中进行过滤,前10名和他们的频率不断变化,所以我不能只使用公式


我认为if语句应该检查因子是否在前10名。如果没有:将其分组。

forcats::fct\u lump
很好地处理了这个用例。如果您包含一个简单的示例输入和所需的输出,可以用来测试和验证可能的解决方案,那么就更容易帮助您。
ProblemFrequency <- within(ProblemFrequency, other.group <- ifelse(freq > 100, as.character(Problem), "Other"))
ProblemFrequency <- within(ProblemFrequency, relevel(factor(other.group), "Other"))