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 |