R编程:从数据框中查找所有因子

时间:2014-10-21 10:53:26

标签: r

我正在尝试获取数据框的列的类类型。我在做的是:

sapply(mydata,class)

但是现在,我想只找到那些因素的列名。我尝试了以下方法:

sapply(data,is.factor)

但它给了我:

ResponseFlag            Gender           Marital        OccupInput
 False                   True             True            False

如何分隔因子列名?

任何帮助或想法都将受到赞赏。

1 个答案:

答案 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