답변:
data.table 버전의 >= 1.9.8
경우 다음이 모두 작동합니다.
library(data.table)
dt <- data.table(a = 1, b = 2, c = 3)
# select single column by index
dt[, 2]
# b
# 1: 2
# select multiple columns by index
dt[, 2:3]
# b c
# 1: 2 3
# select single column by name
dt[, "a"]
# a
# 1: 1
# select multiple columns by name
dt[, c("a", "b")]
# a b
# 1: 1 2
data.table 버전 < 1.9.8
(숫자 열 선택 에을 사용해야 함 with = FALSE
)에 대해서는 이 답변의 이전 버전 을 참조하십시오 . v1.9.8, 잠재적으로 변경되는 변경 사항, 포인트 3의 뉴스 도 참조하십시오 .
DT[,list(b:c)
데이터 테이블에서 직접 열을 변환하는 것이 편리하다는 것을 알았으므로 예를 들어 할 수는 DT[,list(1/b,2*c)]
있지만 함께 사용할 수 는 없습니다.
with=FALSE
이 경우 패키지를 변경 하지 않아도됩니다. github.com/Rdatatable/data.table/issues/…
data.frame
사용할 호환 방법 이 없습니다 with=FALSE
. 그러나, 약 3 주 전에의로의 개발 버전 data.table는 같은 전화에 수정 된 dt[, 2]
, dt[, 2:3]
, dt[, "b"]
, 그리고 dt[, c("b", "c")]
그들과 함께에서와 동일하게 동작 data.frame
들 없이 명시 적으로 설정할 필요 with=FALSE
. 대단해! 변경 사항을 설명하는 NEWS 항목을 포함하여 특정 커밋에 대해서는 여기 를 참조하십시오 .
v1.10.2부터는 다음을 사용할 수도 있습니다. ..
dt <- data.table(a=1:2, b=2:3, c=3:4)
keep_cols = c("a", "c")
dt[, ..keep_cols]
dt[, !..keep_cols]
하고 dt[, -..keep_cols]
예상대로 작품!
dt[,"a"]
하고dt[,"a", with=FALSE]
그것이 정말 도움이 무엇 옵션을 볼 수 있습니다.