6

文字列のベクトルがあります

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

そして、私は複数の列を持つ行列を持っています。文字列のそのベクトルに名前が含まれています。名前と一致する列番号/インデックスを取得したいと思います。

which(colnames(sample_matrix) == x)

上記は、xがベクトルではなく単一の要素である場合に機能します。解決策はありますか?

4

3 に答える 3

8

試す

 which(colnames(sample_matrix) %in% x)
于 2013-02-05T03:55:51.997 に答える
3

あなたが探しているものは%in%次のとおりです:

which(colnames(sample_matrix) %in% x)

または、あるいは、match

match(x, colnames(sample_matrix))
于 2013-02-05T03:57:24.213 に答える
2

また:

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

grepの使用は、多くの場合、値の文字列内の存在をテストするよりも一般的です。パターンに一致するすべてのアイテム、たとえば「a」で始まるすべての名前を取得できます。

于 2013-02-05T05:25:01.063 に答える