如何从 R 中的数据框中删除包含唯一因子级别的行?

Tra*_*ter 2 r

我有一个名为 的列Keywords,它是一个具有 150 个级别的因子数据类型。大多数这些级别是其他级别或拼写错误的组合。我想删除Keyword级别只有 1-5 个实例的所有行。我怎么做?

例如:

假设我有 300 行以 'a' 作为关键字,几百个 'b' 和几百个 'c'。但是后来我还有 100 个其他级别,它们应该是这三个级别之一,但是有一些变体,例如“A 1”或“A2”。我只是想了解数据,但所有相对较低的级别都在抛弃所有图表。

Ben*_*ker 5

就像是

tt <- table(dd$Keywords)
rare_levels <- names(tt)[tt<5]
dd <- subset(dd,!Keywords %in% rare_levels)
Run Code Online (Sandbox Code Playgroud)

您可以使用dd$Keywords <- factor(dd$Keywords)dd$Keywords <- droplevels(dd$Keywords)after subsetting 从级别列表中删除稀有因子级别(观察值,而不是级别本身,被删除subset