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

时间:2018-07-25 21:31:21

标签: r dplyr

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

谢谢!

编辑:

诚恳地指出,我错过了一个例子(第一篇文章,对不起!)。我正在尝试执行以下操作:

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

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

2 个答案:

答案 0 :(得分:1)

我想使用基数R(与软件包无关)

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

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

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

答案 1 :(得分:0)

只是添加到@YOLO 的答案中,您可以像这样在一行中包含所有内容

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