티스토리 뷰
배열
배열은 동일한 데이터 타입으로 구성된 다차원 데이터구조입니다.
Array(데이터, dim = 차원, 차원의 이름)
# R : dim=c(행, 열, 층), R에서는 새로운 층이 뒤로 쌓인다면
# Python : (층, 행, 열), Python에서는 층이 1번째 인자로, 새로운 층이 앞으로 쌓인다는 것
# 배열에서의 연산은 배열의 포맷(데이터 타입, 크기)이 같을 때만 가능합니다.
> a1 <- array(1:20, c(2,5,2))
> a1
, , 1 # , , 1 은 색인 기호를 의미합니다. (행,열,층) 순이니 1층을 의미하겠죠?
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
, , 2 # 여긴 2층
[,1] [,2] [,3] [,4] [,5]
[1,] 11 13 15 17 19
[2,] 12 14 16 18 20
> a2 <- array(1:20)
> a2
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
> dim(a2) <- c(2,5,2) # 데이터를 먼저 만든 후 차원(dim)을 지정해도 됩니다.
> a2
, , 1
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
, , 2
[,1] [,2] [,3] [,4] [,5]
[1,] 11 13 15 17 19
[2,] 12 14 16 18 20
# 데이터의 접근은 행렬과 동일한 방법의 색인을 사용
> a1[,,1] # 배열 a1의 1번째 층
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
> a1[1,,1] # 1번째 층의 1번째 행의 전체 컬럼(한 번의 색인과정을 통해 추출)
[1] 1 3 5 7 9
> a1[,,1][1,] # 위와 같은 결과, [층]을 먼저 정한 후 [행,열]로 색인할 수 있습니다.
[1] 1 3 5 7 9
> a1[1,c(2,3,5),1] # 1번째 층의 1번째 행의 2,3,5번째 컬럼
[1] 3 5 9
관련 참고 글
[R] 리스트(list) <- Key-value 형태로 저장되는 데이터 구조
[R] 행렬(Matrix) <- 행과 열의 구조를 갖는 2차원 배열 구조
[R] 배열(Array) <- 동일한 데이터 타입으로 구성된 다차원 데이터구조
[R] 데이터 프레임(Date Frame) <- 엑셀 시트와 유사한 표 형태를 가진 데이터 구조
참고: KIC 캠퍼스 머신러닝기반의 빅데이터분석 양성과정
'R > Process' 카테고리의 다른 글
[R] 데이터 타입 변환 함수 (0) | 2018.12.27 |
---|---|
[R] 데이터 프레임(date frame) (0) | 2018.12.27 |
[R] 행렬(Matrix) (0) | 2018.12.26 |
[R] 리스트(list) (0) | 2018.12.26 |
[R] 날짜와 시간 - as.Date, lubridate (0) | 2018.12.24 |