我有一个类似的问题:我想只选择低于“n”级的列,我想我可以使用 dplyr 来做到这一点,但我不知道如何。
以泰坦尼克号数据为例,其中 str()
我有 3 个具有 2 个级别的因子和 1 个具有 4 个级别的因子。我的想法是只选择少于 4 个级别的列。
str(as.data.frame(Titanic) %>% mutate_if(is.character, factor))
有什么想法吗?
提前致谢。
最佳答案
只需传递一个函数给select_if
,很像 mutate_if
-- 参见 ?nlevels
:
Titanic %>%
as_data_frame() %>%
mutate_if(is.character, factor) %>%
select_if(~ nlevels(.) < 4)
请注意,您也可以将其写为:select_if(function(x) nlevels(x) < 4)
关于r - 如何使用 dplyr 仅选择少于 n 级的列(type=factor)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50357011/