我正在尝试获取数据框的列的类类型。我在做的是:
sapply(mydata,class)
但是现在,我想只找到那些因素的列名。我尝试了以下方法:
sapply(data,is.factor)
但它给了我:
ResponseFlag Gender Marital OccupInput
False True True False
如何分隔因子列名?
任何帮助或想法都将受到赞赏。
答案 0 :(得分:14)
试试这个:
Filter(is.factor, mydata)
仅名称如果您只想要名称:
names(Filter(is.factor, mydata))
或
names(iris)[ sapply(iris, is.factor) ]
dplyr 这些可以使用dplyr表示,如下所示:
library(dplyr)
mydata %>% Filter(f = is.factor)
mydata %>% Filter(f = is.factor) %>% names
mydata %>% summarise_each(funs(is.factor)) %>% unlist %>% .[.] %>% names