2016-08-08 4 views
0

다음 두 데이터 프레임 uv이 있습니다. I는 DF u의 COL a 각 값 DF v에 COLS에 일치되도록 uv를 사용하여 생성 된 제 3 데이터 프레임 w 만들려고하고 유사한 열 DF vu COL b DF에서 n 번째 값을 발견하고 .데이터 프레임에서 열을 검색하는 방법은 무엇입니까?

u<-data.frame(a=c("v2","x2","x2"),b=c(2,3,4)) 
v<-data.frame(No=c(1,2,3,4,5),v1=c(2,9,3,1,7),v2=c(9,10,8,8,7),w1=c(5,7,9,4,3), 
        w2=c(4,6,1,3,2),x1=c(9,6,2,7,4),x2=c(4,4,4,2,7)) 

데이터 프레임을

 w <-data.frame(a=c("v2","x2","x2"),b=c(2,3,4),c=c(10,4,2)) 
+0

'X3'열이 'V'에없는 – akrun

+0

미안 해요, 난 그냥 그래도, 내가 10에서와 같이 당신이 'C'에 대한 'w'의 값 (10)을 얻는 방법 확실하지 않다 – crumbly

+0

수정 'v2'. – akrun

답변

0

당사 column 인덱스, 'B'컬럼 cbind 얻을 'V'의 names에 'U'에서 'A'열 match 수 (행 얻어진 인덱스)에서 'v'의 값을 추출하고 'c'열을 transform으로 만들고 새 데이터 집합 개체 ('w')에 할당합니다.

w <- transform(u, c= v[cbind(b, match(as.character(a), names(v)))]) 
w 
# a b c 
#1 v2 2 10 
#2 x2 3 4 
#3 x2 4 2 
관련 문제