我试图获取数据框的列的类类型.我在做的是:
sapply(mydata,class)
Run Code Online (Sandbox Code Playgroud)
但现在,我想只找到那些因素的列名.我尝试了以下方法:
sapply(data,is.factor)
Run Code Online (Sandbox Code Playgroud)
但它给了我:
ResponseFlag Gender Marital OccupInput
False True True False
Run Code Online (Sandbox Code Playgroud)
如何分离作为因子的列名?
任何帮助或想法将不胜感激.
G. *_*eck 14
试试这个:
Filter(is.factor, mydata)
Run Code Online (Sandbox Code Playgroud)
仅限名称如果您只想要名称:
names(Filter(is.factor, mydata))
Run Code Online (Sandbox Code Playgroud)
要么
names(iris)[ sapply(iris, is.factor) ]
Run Code Online (Sandbox Code Playgroud)
dplyr这些可以使用dplyr表示,如下所示:
library(dplyr)
mydata %>% Filter(f = is.factor)
mydata %>% Filter(f = is.factor) %>% names
mydata %>% summarise_each(funs(is.factor)) %>% unlist %>% .[.] %>% names
Run Code Online (Sandbox Code Playgroud)