我使用“dummies”软件包为我的数据框中的42个因子变量级别创建42个虚拟变量。现在我只想保留代表五个最常见因子水平的5个假人。我用过:
counts <- colSums(dummy_variables)
rank <- sort(counts)
找出这些级别是什么,但现在我希望能够引用最常见的级别并将它们保存在我的数据框中。我对R有点新鲜 - 我无法弄清楚这样做的语法。
答案 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))]