data.table subset

Published onesixx on

R

결과가 data.table이 아닌 vector로 나오는 경우,

R

대부분의 결과는 data.table 형태로,

R

Columns

R
row / column means

. (dot)

특정 column만 select할때,   .( ) 를 활용
regression formulas에서 볼수 있었던 (ex. lm(y~., data=DT). 는”all other variables”을 의미하지만, 
data.table에서는 “list”를 의미한다.

R

Vector를 변수로 사용하여 column 선택

Vectors 를 사용하여 column 선택

R
Extract specific column

Pass column name using variable

https://stackoverflow.com/questions/9202413/how-do-you-delete-a-column-by-name-in-data-table
R
R

Subsetting column

.SD만 단순히 사용하면, 원래 값과 같다. 

R
   A B C D
1: a 1 1 3
2: a 2 6 6
3: b 3 5 4
4: b 1 3 2
5: c 2 4 1
6: c 3 2 5
R
   B
1: 1
2: 2
3: 3
4: 1
5: 2
6: 3
R

Self reference

.SD 와 .SDcols (Subset of Data columns)
.SD는 하나의 data.table의 columns을 각각 sub-data.table로 나누어 self reference할수 있게 해준다. 

A column와 B column을 paste하는 것을 .SD를 활용하여 같은 결과를 구현할수 있다.

R
[1] "a1" "a2" "b3" "b1" "c2" "c3

ROW

한 column에 조건을 사용하여 row subsetting

R

 sub-data.table의 ridx를 활용하여 원하는 row만 뽑아올수 있다. (각 그룹의 B열에서 max값을 갖는 row를 뽑아옴)

R
   A B C D
1: a 2 4 5
2: b 3 3 3
3: c 3 5 1
R
   A B
1: a 2
2: b 3
3: c 3
Categories: Reshaping

onesixx

Blog Owner

guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x