【问题标题】:how to choose columns based on specific names of the columns in a dataframe [duplicate]如何根据数据框中列的特定名称选择列[重复]
【发布时间】:2020-10-03 02:01:23
【问题描述】:

我有一个包含 562 列的数据框。我想要具有字符串的特定列 - 'mean' 和 'std' 仅在其中。我该怎么做?

这些是名字 -

  [1] "tBodyAcc-mean-X"  
  [2] "tBodyAcc-mean-Y"                     
  [3] "tBodyAcc-mean-Z"                     
  [4] "tBodyAcc-std-X"                      
  [5] "tBodyAcc-std-Y"                      
  [6] "tBodyAcc-std-Z"                      
  [7] "tBodyAcc-mad-X"                      
  [8] "tBodyAcc-mad-Y"                      
  [9] "tBodyAcc-mad-Z"                      
 [10] "tBodyAcc-max-X"                      
 [11] "tBodyAcc-max-Y"                      
 [12] "tBodyAcc-max-Z"                      
 [13] "tBodyAcc-min-X"                      
 [14] "tBodyAcc-min-Y"                      
 [15] "tBodyAcc-min-Z"                                  
 [41] "tGravityAcc-mean-X"                  
 [42] "tGravityAcc-mean-Y"                  
 [43] "tGravityAcc-mean-Z"                  
 [44] "tGravityAcc-std-X"                   
 [45] "tGravityAcc-std-Y"                   
 [46] "tGravityAcc-std-Z"                   
 [47] "tGravityAcc-mad-X"                   
 [48] "tGravityAcc-mad-Y"                   
 [49] "tGravityAcc-mad-Z"                   
 [50] "tGravityAcc-max-X"                   
 [51] "tGravityAcc-max-Y"                   
 [52] "tGravityAcc-max-Z"                   

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    您可以使用grep/grepl 按模式匹配列名。如果您的数据框名为df

    df[grepl('mean|std', names(df))]
    

    或者在dplyr你可以使用select

    library(dplyr)
    df %>% select(matches('mean|std'))
    

    【讨论】:

      猜你喜欢
      • 2015-12-19
      • 1970-01-01
      • 1970-01-01
      • 2020-01-10
      • 1970-01-01
      • 1970-01-01
      • 2019-12-24
      • 1970-01-01
      • 2012-06-21
      相关资源
      最近更新 更多