2016-08-16 7 views
0

ですので、今すぐこの問題が発生しています。私は行列Aを持っています。そのrownamesは、別の行列Bのフィールドの値です。私はrownamesのインデックスを2番目の行列Bで探したいと思います。今度はこの操作を実行しようとしています。which(A$field == rowname_A)。残念ながら、いくつかのものが出現しています - rowname_A変数は文字クラスです。これは、この形式の"X12345"です。 A$fieldの値はタイプファクタです。追加されたXを文字から削除し、それを因子に変換して比較する方法はありますか?または、A$fieldの因子変数を文字型に変換して比較します。文字タイプと因子タイプの比較がR

お願いします。

ありがとうございました。

答えて

0

これはかなりまっすぐです。以下の例は、あなたを助けるはずです。

A <- matrix(1:3) 
rownames(A) <- paste0("X", 1:3) 
B <- data.frame(field = factor(1:3)) 

# Remove "X" from rownames(A) and check equality 
B$field %in% substr(rownames(A), 2, nchar(rownames(A))) 

# Add "X" to B$field and check equality 
paste0("X", B$field) %in% rownames(A)