더북(TheBook)

cbind( )는 주어진 인자를 컬럼으로 취급하여 데이터를 합친다. 다음은 두 벡터를 합쳐 행렬로 만드는 예다.

> cbind(c(1, 2, 3), c(4, 5, 6))
     [,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]    3    6

마찬가지 방법으로 cbind( )를 사용해 데이터 프레임에 새로운 컬럼을 추가할 수 있다.

> (y <- cbind(x, greek=c("alpha", "beta")))
 id name greek
1 1    a alpha
2 2    b beta
> str(y)
'data.frame':   2 obs. of 3 variables:
 $ id   : num 1 2
 $ name : chr "a" "b"
 $ greek: Factor w/ 2 levels "alpha","beta": 1 2
> y <- cbind(x, greek=c("alpha", "beta"), stringsAsFactors=F)
> str(y)
'data.frame':   2 obs. of 3 variables:
 $ id   : num 1 2
 $ name : chr "a" "b"
 $ greek: chr "alpha" "beta"

위 코드에서도 확인할 수 있듯이 stringsAsFactors를 FALSE로 지정하면 새로 추가된 greek 컬럼이 문자열 데이터가 되지만, 이를 생략하면 범주형 데이터인 팩터가 된다.

데이터 프레임에 새로운 컬럼을 추가할 때는 cbind( )를 사용하지 않고 df$colname <- data 형태로도 추가할 수 있다. 이 내용은 앞서 데이터 프레임 타입에 대해서 살펴본 ‘2.8 데이터 프레임’ 절을 참고하기 바란다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.