我有一个字符串
的向量x<-c('a','b')
我有一个多列的矩阵1;其中包含该字符串向量中的名称。我想获得与其名称相匹配的列号/索引。
which(colnames(sample_matrix) == x)
当x不是矢量而是单个元素时,上述情况有效。任何解决方案?
答案 0 :(得分:8)
尝试
which(colnames(sample_matrix) %in% x)
答案 1 :(得分:2)
您要找的是%in%
,如下所示:
which(colnames(sample_matrix) %in% x)
或者,match
match(x, colnames(sample_matrix))
答案 2 :(得分:2)
此外:
grep("^a$|^b$", colnames(sample_matrix) )
使用grep通常更为通用,即测试一串值中的状态。您可以获取与模式匹配的所有项目,例如所有以“a”开头的名称。