【问题标题】:How to get only column names of data frame that are starting with particular characters?如何仅获取以特定字符开头的数据框的列名?
【发布时间】:2020-01-16 17:10:46
【问题描述】:

这是我创建数据框并打印所有列名的代码:

df<-data.frame("Sp1"=1:6,"Sp2"=7:12,"Sp3"=13:18, "Dp1"=1:6)
colnames(df)

输出:

[1]“Sp1”“Sp2”“Sp3”“Dp1”

现在我只需要获取以Sp 开头的列名,因此结果应该类似于"Sp1" "Sp2" "Sp3"。该怎么做?

【问题讨论】:

    标签: r dataframe data-manipulation


    【解决方案1】:

    你可以使用正则表达式

    grep("^Sp",colnames(df), value = TRUE)
    

    其中^表示字符串的开始

    【讨论】:

      【解决方案2】:

      使用dplyr

      library(dplyr)
      df <- df %>%
        select(starts_with("Sp"))
      names(df)
      # [1] "Sp1" "Sp2" "Sp3"
      

      如果您只想打印姓名,请使用:

      names(df %>%
        select(starts_with("Sp")))
      #[1] "Sp1" "Sp2" "Sp3"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-02-10
        • 2021-09-16
        • 1970-01-01
        • 2015-07-04
        • 1970-01-01
        • 1970-01-01
        • 2013-03-08
        • 2014-03-29
        相关资源
        最近更新 更多