dataframe에서 .SD 라는 개념이 있다.

Subset of Dataframe의 약자이다. 자세한 내용은 아래 url에 있다.


http://stackoverflow.com/questions/8508482/what-does-sd-stand-for-in-data-table-in-r



테이블을 하나 만들자.

> table <- data.table(x=rep(c("a","b","c"),each=2), y=c(1,3), z=1:6)


아래 테이블로 되어 있는데..

> table

   x y z

1: a 1 1

2: a 3 2

3: b 1 3

4: b 3 4

5: c 1 5

6: c 3 6



z 컬럼은 버리고 x,y만 보인다.

> table[, .SD[,paste(x,y, sep="", collapse=", ")]]

[1] "a1, a3, b1, b3, c1, c3"



x,y 컬럼의 값을 하나의 값으로 보여지기를 원한다면 아래와 같이 할 수 있다. SQL의 여러 값을 insert into 에 넣을 때 잘 활용할 수 있을 것이다.

> m<-table[, .SD[,paste(x,y, sep=",", collapse="), (")]]

> paste("(", m, ")")

"( a,1), (a,3), (b,1), (b,3), (c,1), (c,3 )"


주의할 점이 있다.

SD 사용하려면, library(data.table)를 한 후, data.table로 감싼 후에 사용할 수 있다. SD는 테이블 속성이 있어야 사용 가능하다.


'R' 카테고리의 다른 글

Rstudio startup(실행)시 무한 루프시 해결  (0) 2015.07.13
[R] mysql 연동하기  (0) 2015.07.09
[R] 동작시간 측정하기  (0) 2015.07.09
R 공부에 도움되는 책  (0) 2015.07.09
R 설치와 라이센스  (0) 2015.07.08
Posted by '김용환'
,