R의 data.table로 데이터 결합하기
Scott Ritchie
Postdoctoral Researcher in Systems Genomics
키를 설정하면 조인 시 on 인수가 불필요함
data.table을 사용할 때 유용키 열을 기준으로 data.table을 메모리에서 정렬
여러 열을 키로 설정 가능
키 열을 인수로 전달
setkey(DT, ...)
setkey(DT, key1, key2, key3)setkey(DT, "key1", "key2", "key3")
# To set all columns in DT as keys
setkey(DT)
조인 전 두 data.table의 키 설정
setkey(dt1, dt1_key)
setkey(dt2, dt2_key)
내부, 우측, 좌측 조인 수행:
# Inner join dt1 and dt2 dt1[dt2, nomatch = 0]# Right join dt1 and dt2 dt1[dt2]# Left join dt1 and dt2 dt2[dt1]
키 열을 문자 벡터로 제공
keys <- c("key1", "key2", "key3")
setkeyv(dt, keys)
haskey()로 키 설정 여부 확인
haskey(dt1)
TRUE
key()로 설정된 키 열 반환
key(dt1)
"dt1_key"
키가 설정되지 않은 경우
haskey(dt_no_key)
FALSE
key(dt_no_key)
NULL
tables()
NAME NROW NCOL MB COLS KEY
[1,] dt 3 4 1 key1,key2,key3,value key1,key2,key3
[2,] dt1 1,000 3 1 dt1_key_column,value,group dt1_key
[3,] dt2 1,000 2 1 dt2_key_column,time dt2_key
[4,] dt_no_key 5 2 1 id,color
Total: 4MB
R의 data.table로 데이터 결합하기