2.5 배열(array)

  • 통계학의 관점에서 R의 행렬의 행은 조사 대상이 되는 사람, 동물 등 관측 대상에 해당하고, 열은 대상의 특성을 표현하는 변수(예: 몸무게, 키, 혈압 등)에 해당 \(\rightarrow\) 2차원 구조
  • 위와 같은 데이터를 년 단위로 수집한다면? \(\rightarrow\) 한 대상자에 해당하는 변수들은 시간에 따라 변함 \(\rightarrow\) 시간 차원이 하나 더 존재!
  • R에서 이러한 형태의 데이터 구조를 배열(array)이라고 지칭함

2.5.1 배열의 생성 및 색인

  • 동일한 유형의 데이터가 2차원 이상으로 구성된 데이터 구조
  • 동일한 차원(\(n\times p\))의 배열(행렬)이 \(k\) 개 방에 저장된 데이터 구조
  • 배열 생성 함수
  • 통계학과 3명의 학생에 대한 중간고사 기준 한 번의 퀴즈와 중간고사 점수, 그리고 기말고사 기준 한 번의 퀴즈와 기말고사 점수 데이터 가정
     [,1] [,2]
[1,]   75   65
[2,]   84   78
[3,]   93   92
     [,1] [,2]
[1,]   82   88
[2,]   78   75
[3,]   85   88
, , 1

     [,1] [,2]
[1,]   75   65
[2,]   84   78
[3,]   93   92

, , 2

     [,1] [,2]
[1,]   82   88
[2,]   78   75
[3,]   85   88
$dim
[1] 3 2 2
[1] "array"
 num [1:3, 1:2, 1:2] 75 84 93 65 78 92 82 78 85 88 ...
  • 배열 내 데이터 접근은 색인을 통해 가능(벡터 행렬과 동일)
     [,1] [,2]
[1,]   75   65
[2,]   84   78
[3,]   93   92
     [,1] [,2]
[1,]   78   75
[2,]   85   88

2.5.2 배열의 확장 예제

데이터 사이언스 스쿨 참고

  • 배열 구조를 갖는 가장 대표적인 데이터 중 하나가 이미지(사진)
  • 이미지 데이터는 픽셀(pixel) 이라는 세분화된 작은 이미지를 직사각형 형태로 모은 형태
  • 전체 이미지는 세로픽셀수 \(\times\) 가로픽셀수 로 표현됨 \(\rightarrow\) 행렬
  • 픽셀의 색을 숫자로 표현하는 방식을 색공간(color space)라고 명칭
  • 대표적 색공간은 흑백스케일(grey scale), RGB (Red-Green-Blue), HSV(Hue-Saturation-Value) 방식
  • RGB 색공간을 사용한 경우 각 색공간별로 동일한 크기의 행렬이 3개 층으로 저장된 상태 \(\rightarrow\) 배열
  • RGB는 0 ~ 255 까지 값을 갖고 빨강색 (255, 0, 0), 녹색 (0, 255, 0), 파란색은 (0, 0, 255)임


목표

  • R에서 웹 url로 이미지를 불러오기
  • 불러온 이미지를 R에서 plotting 해보기
  • 이미지 데이터를 직접 수정 해보기
  1. 이미지 입출력 패키지 installation
  1. 관련 패키지 불러오기
  1. 이미지 불러오기
  1. 이미지 그래프 출력창에서 확인

  1. 이미지 임의 부분 편집하기

  1. RGB값을 무작위로 샘플링 후 매개변수로 노이즈 가중치 조절해 보기