2012-04-24 3 views
1

큰 데이터 테이블 X (504x9)과 top.sectorsizeClass 인 작은 데이터 프레임 bzShare (323X4)이 있습니다. 이제 X의 크기가 (504x10)이되도록 bzShare의 값을 X에 결합하려고합니다. 내부는 모두 X의 키를 일치하는 선택 행만 참여와 y 나는 잘 모르지만, 난 항상이 A (504x10) 데이터 프레임을하지 않았다 왜plyr R 빈 내부 조인

> dim(X) 
[1] 504 9 
> names(X) 
[1] "sizeClass" "top.sector" "year" "period" "somevar" 
[6] "sumTest" "sumTestTotal" "AN" "share"      
> names(bzShare) 
[1] "top.sector" "sizeClass" "bzShare" 
> join(X,bzShare,type="inner",by=c("top.sector","sizeClass")) 
NULL data table 

:-(제로 행을받을 경우?

답변

2

두 개의 data.frames 또는 행렬이 같은 열 이름을 공유하기 때문에 둘 사이에 공통 키가 없기 때문에 다른 항목과 조인/병합된다는 의미는 아닙니다. 내부 JOIN 경우의 일반적인 결과입니다.

오브젝트가 비어 있지 않은지 확인하십시오 (vali가 있음). d 개의 열 이름 (예 : 나는 dim(bzShare)의 결과)와

시작 그리워 :

count(X$top.sector %in% bzShare$top.sector) 
count(X$sizeClass %in% bzShare$sizeClass) 

을하고 각 교집합에 뭔가를 얻을 수 있는지 확인합니다.

+0

감사합니다. 나는 작동 한 교차로를 확인했습니다. 이제는 두 ID를 붙여 넣어 새 ID 열을 추가하여 수정했습니다. 그런 다음 작동합니다. –