文字列のベクトルがあります
x<-c('a','b')
そして、私は複数の列を持つ行列を持っています。文字列のそのベクトルに名前が含まれています。名前と一致する列番号/インデックスを取得したいと思います。
which(colnames(sample_matrix) == x)
上記は、xがベクトルではなく単一の要素である場合に機能します。解決策はありますか?
文字列のベクトルがあります
x<-c('a','b')
そして、私は複数の列を持つ行列を持っています。文字列のそのベクトルに名前が含まれています。名前と一致する列番号/インデックスを取得したいと思います。
which(colnames(sample_matrix) == x)
上記は、xがベクトルではなく単一の要素である場合に機能します。解決策はありますか?
試す
which(colnames(sample_matrix) %in% x)
あなたが探しているものは%in%
次のとおりです:
which(colnames(sample_matrix) %in% x)
または、あるいは、match
match(x, colnames(sample_matrix))
また:
grep("^a$|^b$", colnames(sample_matrix) )
grepの使用は、多くの場合、値の文字列内の存在をテストするよりも一般的です。パターンに一致するすべてのアイテム、たとえば「a」で始まるすべての名前を取得できます。