참고 :이 질문과 답변은 data.table 버전을 참조하십시오. < 1.5.3; v. 1.5.3이이 문제를 해결하기 위해 2011 년 2 월에 릴리스되었습니다. 최근 처리 (03-2012)를 참조하십시오 : Translating SQL joins on foreign keys to R data.table syntaxdata.table 병합 작업 수행 방법
을 내가 (특정 작업을 위해 훨씬 더 효율적 data.frame 대체)에 data.table package에 대한 문서를 통해 파고 봤는데, Josh Reich's presentation on SQL and data.table at the NYC R Meetup (PDF 포함), 그러나이 완전히 사소한 조작을 이해할 수는 없다. "[첫 번째 인수는] 자체 data.table 때이 기반이 :: 병합을 유사한 호출에 참여하지만, 정렬 키에 이진 검색을 사용합니다."
> x <- DT(a=1:3, b=2:4, key='a')
> x
a b
[1,] 1 2
[2,] 2 3
[3,] 3 4
> y <- DT(a=1:3, c=c('a','b','c'), key='a')
> y
a c
[1,] 1 a
[2,] 2 b
[3,] 3 c
> x[y]
a b
[1,] 1 2
[2,] 2 3
[3,] 3 4
> merge(x,y)
a b c
1 1 2 a
2 2 3 b
3 3 4 c
워드 프로세서 말 분명히 이것은 사실이 아닙니다. data.tables가있는 x [y] 결과에 y에서 다른 열을 가져올 수 있습니까? 키가 y의 키와 일치하지만 x의 나머지 부분은 완전히 무시하는 것처럼 보이는 것 같습니다 ...
CRAN에 2011 년 2 월에 릴리스 된 v1.5.3으로 해결되었습니다. NEWS, new? data.table 및 FAQ를 참조하십시오. –