2016-08-16 83 views
0

好吧,我現在有這個問題。我有一個矩陣A,其rownames是另一個矩陣B中字段的值。我想在第二個矩陣B中找到我的rownames的索引。現在我正在嘗試執行此操作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)