data.table 튜토리얼
data.table 시작하기
수색…
비고
Data.table 은 R 통계 컴퓨팅 환경을위한 패키지입니다. 베이스 R의 데이터 프레임 기능을 확장합니다. 특히 성능과 구문을 향상시킵니다. 롤링 및 비공유 조인을 포함한 많은 관련 작업은 DT[where, select|update|do, by]
와 같이 일관되고 간결한 구문으로 처리됩니다.
다양한 보완 기능이 패키지에 포함되어 있습니다.
- I / O :
fread
/fwrite
-
dcast
:melt
/dcast
/rbindlist
/split
- 가치의
rleid
:rleid
버전
번역 | 노트 | CRAN의 출시일 |
---|---|---|
1.9.4 | 2014-10-02 | |
1.9.6 | 2015-09-19 | |
1.9.8 | 2016-11-24 | |
1.10.0 | "뒤늦은 시야로, v1.9.8의 마지막 릴리즈는 v1.10.0으로 명명되어야합니다." | 2016-12-03 |
1.10.1 | 개발 중 | 2016-12-03 |
설치 및 설정
CRAN에서 stable 릴리스를 설치하십시오.
install.packages("data.table")
또는 github의 개발 버전 :
install.packages("data.table", type = "source",
repos = "http://Rdatatable.github.io/data.table")
devel에서 CRAN으로 되돌리려면 현재 버전을 먼저 제거해야합니다.
remove.packages("data.table")
install.packages("data.table")
전체 설치 지침과 최신 버전 번호 는 웹 사이트를 참조하십시오.
패키지 사용
일반적으로 패키지와 모든 기능을 다음과 같은 줄과 함께로드하려고합니다.
library(data.table)
하나 또는 두 개의 함수 만 필요하면 대신 data.table::fread
와 같은 함수를 참조 할 수 있습니다.
시작하기 및 도움말 찾기
패키지의 공식 위키 에는 몇 가지 필수 자료가 있습니다.
새로운 사용자 인 경우 vignettes, FAQ 및 치트 시트 를 확인하십시오.
StackOverflow 나 다른 곳에서 질문을하기 전에 지원 페이지 를 읽어보십시오.
개별 함수에 대한 도움말은 help("fread")
또는 ?fread
입니다. 패키지가로드되지 않은 경우 ?data.table::fread
와 같은 전체 이름을 사용하십시오.
구문 및 기능
기본 구문
DT[where, select|update|do, by]
구문은 data.table의 열을 사용하여 작업하는 데 사용됩니다.
- "where"부분이
i
인수입니다. - "select | update | do"부분은
j
인수입니다.
이 두 인수는 일반적으로 이름 대신 위치에 의해 전달됩니다.
일련의 단계들은 DT[...][...]
처럼 연결될 수 있습니다.
DT[...]
내부의 단축키, 특수 기능 및 특수 기호 DT[...]
기능 또는 기호 | 노트 |
---|---|
.() | 몇개의 인수로, list() |
J() | i 에서 list() 대체 list() |
:= | j 에서 열을 추가하거나 수정하는 데 사용되는 함수 |
.N | i 에서 전체 행 수 j 에서 그룹의 행 수 |
.I | j 에서 테이블의 행 번호 벡터 ( i 필터링 됨) |
.SD | j 에서 데이터의 현재 하위 집합 .SDcols 인수에 의해 선택됩니다. |
.GRP | j 에서 데이터의 하위 집합의 현재 색인 |
.BY | j 에서 데이터의 현재 하위 집합에 대한 값 별 목록 |
V1, V2, ... | j 에서 생성 된 이름이없는 열의 기본 이름 |
DT[...]
내부 조인 DT[...]
표기법 | 노트 |
---|---|
DT1[DT2, on, j] | 두 테이블 조인 |
i.* | 조인 후 DT2 열의 특수 접두사 |
by=.EACHI | 특수 옵션은 조인과 함께 사용할 수 있습니다. |
DT1[!DT2, on, j] | 두 개의 테이블을 반대 결합 |
DT1[DT2, on, roll, j] | 두 테이블 조인, on= |
고쳐 쓰기, 스태킹 및 분할
표기법 | 노트 |
---|---|
melt(DT, id.vars, measure.vars) | 긴 형식으로 변환 여러 열에 measure.vars = patterns(...) |
dcast(DT, formula) | 와이드 형식으로 변환 |
rbind(DT1, DT2, ...) | 열거 된 데이터 테이블을 스택에 넣는다. |
rbindlist(DT_list, idcol) | 데이터 테이블의 목록을 스택 |
split(DT, by) | data.table을 목록으로 나눕니다. |
data.tables에 특화된 몇몇 다른 함수들
기능 | 노트 |
---|---|
foverlaps | 오버랩 조인 |
merge | 두 테이블을 결합하는 다른 방법 |
set | 열을 추가하거나 수정하는 다른 방법 |
fintersect , fsetdiff , funion , fsetequal , unique , duplicated , anyDuplicated | 행을 요소로하는 이론 설정 연산 |
CJ | 벡터의 데카르트 곱 |
uniqueN | 별개의 행수 |
rowidv(DT, cols) | cols에 의해 결정된 각 그룹 내의 행 ID (1 ~ N) |
rleidv(DT, cols) | 각 그룹 내의 그룹 ID (1 ~ .GRP) |
shift(DT, n) | 모든 열에 시프트 연산자 적용 |
setorder , setcolorder , setnames , setkey , setindex , setattr | 참조로 특성 및 순서 수정 |
패키지의 다른 기능들
풍모 | 노트 |
---|---|
IDate 및 ITime | 정수 날짜와 시간 |