2016-08-16 3 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)