[R]벡터를 행렬로 변환(vector into matrix), 행렬을 벡터로 변환(vectorization)
R 분석과 프로그래밍/R 데이터 전처리 2016. 6. 9. 00:32이번 포스팅에서는 벡터(vector)와 행렬(matrix)를 자유자재로 넘나들며 데이터 변환하는 방법을 소개하겠습니다. R에는 벡터와 행렬을 아주 쉽게 넘나들게 해주는 함수가 있답니다.
(1) 벡터를 행렬로 변환하기
(1-1) 벡터를 열(column) 기준으로 행렬로 변환하기 : matrix(vector, byrow = FALSE, ncol = n)
(1-2) 벡터를 행(row) 기준으로 행렬로 변환하기 : matrix(vector, byrow = TRUE, ncol = n)
(2) 행렬을 벡터로 변환하기 (vectorization)
(2-1) 행렬을 열(column) 기준으로 벡터로 변환하기 : as.vector(matrix)
(2-2) 행렬을 행(row) 기준으로 벡터로 변환하기 : as.vector( t(matrix) )
(1) 벡터를 행렬로 변환하기 (converting vector into matrix)
(1-1) 벡터를 열(column) 기준으로 행렬로 변환하기
> ##------------------------------------------------------- > ## vector into matrix, matrix into vector (vectorization) > ##------------------------------------------------------- > > # input vector > vec <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15) > vec [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 > > # (1-1) vector into matrix by column > matrix_bycol <- matrix(vec, byrow = F, ncol = 3) > matrix_bycol [,1] [,2] [,3] [1,] 1 6 11 [2,] 2 7 12 [3,] 3 8 13 [4,] 4 9 14 [5,] 5 10 15
|
(1-2) 벡터를 행(row) 기준으로 행렬로 변환하기
> # (1-2) vector into matrix by row > matrix_byrow <- matrix(vec, byrow = T, ncol = 3) > matrix_byrow [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 [4,] 10 11 12 [5,] 13 14 15
|
(2) 행렬을 벡터로 변환하기 (vectorization, converting matrix into vector)
(2-1) 행렬을 열(column) 기준으로 벡터로 변환하기
> # (2-1) matrix into vector (vectorization) by column : as.vector() > matrix_bycol [,1] [,2] [,3] [1,] 1 6 11 [2,] 2 7 12 [3,] 3 8 13 [4,] 4 9 14 [5,] 5 10 15 > vectorization_bycol <- as.vector(matrix_bycol) > vectorization_bycol [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
(2-2) 행렬을 행(row) 기준으로 벡터로 변환하기
> # (2-2) matrix into vector (vectorization) by row : as.vector(t()) > matrix_bycol [,1] [,2] [,3] [1,] 1 6 11 [2,] 2 7 12 [3,] 3 8 13 [4,] 4 9 14 [5,] 5 10 15 > vectorization_byrow <- as.vector(t(matrix_bycol)) > vectorization_byrow [1] 1 6 11 2 7 12 3 8 13 4 9 14 5 10 15 |
이번 포스팅이 도움이 되었다면 아래의 '공감 ~♡'를 꾸욱 눌러주세요. ^^