我有类似这样的问题:我想只选择低于"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)
Run Code Online (Sandbox Code Playgroud)
请注意,您也可以将其写为: select_if(function(x) nlevels(x) < 4)