我有一个名为 Keywords
的列,它是一个具有 150 个级别的因子数据类型。这些级别中的大多数是其他级别或拼写错误的组合。我想删除所有 Keyword
级别只有 1-5 个实例的行。我怎么做?
例如:
假设我有 300 行以“a”作为关键字,几百个“b”和几百个“c”。但后来我有 100 个其他级别应该是这三个级别之一,但有一些变体,如“A 1”或“A2”。我只是想了解一下数据,但所有相对低出现的水平都在抛弃所有图表。
最佳答案
有点像
tt <- table(dd$Keywords)
rare_levels <- names(tt)[tt<5]
dd <- subset(dd,!Keywords %in% rare_levels)
您可以使用 dd$Keywords <- factor(dd$Keywords)
或 dd$Keywords <- droplevels(dd$Keywords)
在子集化以从级别列表中删除稀有因素级别后(观察,而不是级别本身,被 subset
删除)
关于r - 如何从 R 中的数据框中删除包含唯一因子水平的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39908278/