반응형
숫자 인덱스로 data.table에서 여러 열을 선택하십시오.
에서 숫자 인덱스 벡터 (위치)를 사용하여 여러 열을 어떻게 선택할 수 data.table
있습니까?
이것이 우리가 할 것입니다 data.frame
:
df <- data.frame(a = 1, b = 2, c = 3)
df[ , 2:3]
# b c
# 1 2 3
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
)에 대해서는 이 답변의 이전 버전 을 참조하십시오 . 참조 NEWS , 변경 사항 v1.9.8에서 / 잠재적으로의 변경 / 점 (2)를 분리합니다.
조금 장황하지만 숨겨진 .SD
변수 를 사용하는 데 익숙해졌습니다 .
b<-data.table(a=1,b=2,c=3,d=4)
b[,.SD,.SDcols=c(1:2)]
약간의 번거 로움이 있지만 다른 data.table 기능을 잃지 않을 것이므로 (생각하지 않습니다) 조인 테이블 등과 같은 다른 중요한 기능을 계속 사용할 수 있어야합니다.
열 이름 을 사용하여 열 을 선택하려면 다음 .()
의 별명 인을 사용하십시오 list()
.
library(data.table)
dt <- data.table(a = 1:2, b = 2:3, c = 3:4)
dt[ , .(b, c)] # select the columns b and c
# Result:
# b c
# 1: 2 3
# 2: 3 4
v1.10.2부터는 다음을 사용할 수도 있습니다. ..
dt <- data.table(a=1:2, b=2:3, c=3:4)
keep_cols = c("a", "c")
dt[, ..keep_cols]
@ Tom,이 솔루션을 지적 해 주셔서 대단히 감사합니다. 그것은 나를 위해 잘 작동합니다.
인쇄 및 위의 예제에서 하나의 열을 제외시키는 방법을 찾고있었습니다. 두 번째 열을 제외하려면 다음과 같이 할 수 있습니다
library(data.table)
dt <- data.table(a=1:2, b=2:3, c=3:4)
dt[,.SD,.SDcols=-2]
dt[,.SD,.SDcols=c(1,3)]
반응형
'Programing' 카테고리의 다른 글
HTML.BeginForm 및 속성 추가 (0) | 2020.06.23 |
---|---|
numpy 배열에서 특정 열 추출 (0) | 2020.06.23 |
Java SE와 Java EE의 주요 차이점은 무엇입니까? (0) | 2020.06.23 |
Internet Explorer 8은 HTML 5를 지원합니까? (0) | 2020.06.23 |
로컬 시스템 계정으로 CMD.exe를 어떻게 실행합니까? (0) | 2020.06.23 |