【问题标题】:Identify Columns Index Matching Given Vector of String识别与给定字符串向量匹配的列索引
【发布时间】:2013-01-19 22:19:14
【问题描述】:

我有一个字符串向量

x<-c('a','b')

我有一个多列矩阵;其中包含该字符串向量中的名称。我想获取与其名称匹配的列号/索引。

which(colnames(sample_matrix) == x)

当 x 不是向量而是单个元素时,上述方法有效。有什么解决办法吗?

【问题讨论】:

    标签: r matrix vector vectorization string-matching


    【解决方案1】:

    还有:

    grep("^a$|^b$", colnames(sample_matrix) )
    

    使用 grep 通常比测试是否存在于一串值中更通用。您可以获取所有与模式匹配的项目,例如所有以“a”开头的名称。

    【讨论】:

      【解决方案2】:

      您正在寻找的是%in%,如:

      which(colnames(sample_matrix) %in% x)
      

      或者,或者,match

      match(x, colnames(sample_matrix))
      

      【讨论】:

        【解决方案3】:

        试试

         which(colnames(sample_matrix) %in% x)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-11-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-08-30
          • 2020-10-01
          • 1970-01-01
          相关资源
          最近更新 更多