【问题标题】:Filter column names dataframe by dplyr按 dplyr 过滤列名数据框
【发布时间】:2021-01-18 13:23:02
【问题描述】:

我想过滤我的数据并删除其中名称为“昨天”的列。通过在 r 中使用 Dplyr 包

【问题讨论】:

    标签: r dplyr sql-like


    【解决方案1】:

    由于 OP 被标记为sql-likedata.table 包中存在类似的东西:

    library(data.table)
    df[!names(df) %like% 'Yesterday']
    

    【讨论】:

      【解决方案2】:

      如果要删除以'Yesterday' 开头的列,可以使用starts_with

      library(dplyr)
      df %>% select(-starts_with('Yesterday'))
      

      matches,如果您想删除名称中任何位置包含'Yesterday' 的列。

      df %>% select(-matches('Yesterday'))
      

      【讨论】:

        【解决方案3】:

        你也可以使用:

        library(dplyr)
        #Data
        df <- data.frame(Sr.No=1:2,
                         Today_Age=11:12,
                         Yesterday_Age=c(21,32),
                         Today_Height=c(23,22),
                         Yesterday_Height=c(21,33))
        #Code
        new <- df %>% select(!contains('Yesterday'))
        

        输出:

          Sr.No Today_Age Today_Height
        1     1        11           23
        2     2        12           22
        

        【讨论】:

          猜你喜欢
          • 2015-01-27
          • 2021-02-27
          • 2018-06-02
          • 2019-03-07
          • 2018-03-05
          • 2018-08-31
          • 2017-11-12
          相关资源
          最近更新 更多