如何获得适合某些参数的数据框的列/变量名称?

时间:2019-06-08 16:48:10

标签: r

我在DataCamp练习中遇到一个问题,该问题基本上询问“删除此向量中不是因素的列名”。我知道他们想要我做什么,那只是做glimpse(df)并手动删除包含列名的向量的元素,但这对我来说并不令人满意。我认为有一种简单的方法可以将作为因素的数据框的列名存储到向量中。因此,我尝试了两种方法最终都起作用,但是我担心它们可能效率不高。 数据框示例:

factorVar <- as.factor(LETTERS[1:10])
df1 <- data.frame(x = 1, y = 1:10, factorVar = sample(factorVar, 10))

我的第一个解决方案是:

vector1 <- names(select_if(df1, is.factor))

这可行,但是select_if返回过滤数据帧的整个小标题,然后获取列名。当然,有一种更简单的方法... 接下来,我尝试了这个:

vector2 <- colnames(df1)[sapply(df1,is.factor)]

这也有效,但是我想知道是否有一种更快,更有效的方法,可根据列名的类型过滤列名,然后将结果存储为向量。

0 个答案:

没有答案