在R中,如何使用dplyr按数据类型过滤数据帧



我仍在学习R,如果有人能向我展示一种简单的方法,使用dplyr按数据类型(即仅因子(过滤数据帧,使输出只是所选数据类型的变量列表,我将不胜感激?

提前感谢!

编辑:

正如有人善意地指出的那样,我错过了一个例子(第一个帖子,对不起!(。我正在尝试做以下事情:

df %>%
filter(typeof(.) == "integer") %>%
names()

上面只是返回我的数据帧中的所有变量,而不仅仅是我想要的整数类型的变量。我希望能够过滤其他数据类型,而不仅仅是整数:(

我希望使用基本R:来实现这一点(与包无关(

get_names = names(df)[sapply(df, is.factor)]
df = df[,get_names]

dplyr中,您可以执行以下操作:

df <- df %>% 
select_if(is.factor)

只需添加到@YOLO的答案中,就可以像下面的一样将其全部放在一行中

df = df[,sapply(df, is.factor, simplify = TRUE)]

最新更新