保持R中最常见的因子水平

时间:2014-06-28 00:07:28

标签: r dataframe

我使用“dummies”软件包为我的数据框中的42个因子变量级别创建42个虚拟变量。现在我只想保留代表五个最常见因子水平的5个假人。我用过:

counts <- colSums(dummy_variables)
rank <- sort(counts)

找出这些级别是什么,但现在我希望能够引用最常见的级别并将它们保存在我的数据框中。我对R有点新鲜 - 我无法弄清楚这样做的语法。

1 个答案:

答案 0 :(得分:1)

过滤掉前5个变量,然后仅对这些列进行分组。

rank <- sort(counts)[(length(counts)-4):length(counts)]
dummy_variables <- dummy_variables[names(dummy_variables) %in% names(rank)]

或者在评论者建议的一行中,

dummy_variables[names(dummy_variables) %in% names(tail(sort(colSums(dummy_variables)),5))]