Chapter 10 데이터 프레임

이 장에서는 R의 데이터 프레임에 대해 알아 봅니다. 작성 방법, 해당 요소에 액세스하고 프로그램에서 방법.

데이터 프레임(data frame)은 2 차원 데이터 구조입니다. 각 열을 구성하고 있는 요소의 길이가 같은 특수한 경우입니다. 데이터 프레임은 각 구성요소의 길이가 같은 리스트의 특수한 형태라고 할 수 있습니다. 리스트각 구성요소가 열(columns)을 형성하고, 각각의 열의 요소를 묶으면 행을 형성하는 구조가 데이터 프레임입니다.

이러한 데이터 프레임은 R의 핵심적인 자료구조 중의 하나입니다. 데이터 프레임은 엑셀의 워크시트와 같이 숫자, 문자 등 다양한 데이터를 담고있는 테이블(Table, 표)을 처리할 수 있는 데이터 구조로서, R이 제공하는 다양한 함수들을 이용하여 다양한 데이터 분석과 시각화를 할 수 있게 해 줍니다.11

class() 함수를 사용하여 변수가 데이터 프레임인지 여부를 확인할 수 있습니다.

emp.data                       # emp.data 변수의 데이터를 확인합니다.
##   emp_id emp_name salary start_date
## 1      1     Rick 623.30 2012-01-01
## 2      2      Dan 515.20 2013-09-23
## 3      3 Michelle 611.00 2014-11-15
## 4      4     Ryan 729.00 2014-05-11
## 5      5     Gary 843.25 2015-03-27
typeof(emp.data)               # emp.data의 데이터 유형을 확인합니다. "List"를 반환합니다.
## [1] "list"
class(emp.data)                # emp.data의 클래스를 확인합니다. "data.frame"을 반환합니다.
## [1] "data.frame"
str(emp.data)                  # emp.data의 구조를 확인합니다. 각 요소(컬럼)룰 $로 구분하고 있습니다.
## 'data.frame':    5 obs. of  4 variables:
##  $ emp_id    : int  1 2 3 4 5
##  $ emp_name  : chr  "Rick" "Dan" "Michelle" "Ryan" ...
##  $ salary    : num  623 515 611 729 843
##  $ start_date: Date, format: "2012-01-01" "2013-09-23" ...

위의 예에서 emp.datat는 각각 5 개의 요소를 갖는(5개 행) 4 개의 벡터(emp_id, emp_name, salary, start_date)로 구성된(4개 열) 리스트로 간주할 수 있습니다.

데이터 프레임각 열이 하나의 변수로서 벡터(vector) 형태이고, 각 행은 각 열의 값을 집합으로 하여 리스트 형태로 구성되는 사각형 모양의 2차원 테이블 구조를 갖습니다.

이러한 데이터 프레임의 특징은 다음과 같습니다.

  • 각 열의 이름은 비워 둘 수 없습니다. 비워두면 R이 알아서 자동으로 채워줍니다.
  • 각 행은 중복되는 행이 없이 유일(unique)해야 합니다 (중복되는 행이 있으면 중복을 제거해 주는 것이 좋습니다.)
  • 데이터 프레임에 저장된 데이터는 숫자, 요인 또는 문자 유형일 수 있습니다.
  • 각 열은 동일한 데이터 유형을 갖는 벡터 형태여야 하며, 모든 열에 있는 요소들의 갯수는 같아야 합니다.

이번 장에서는 이러한 데이터 프레임에 대해 더 많이 알 수있는 몇 가지 유용한 기능에 대하여 학습하겠습니다.


  1. R에서는 우리가 일반적으로 작성하는 형태의 데이터를 데이터 프레임이나 티블(tibble)의 데이터 구조로 처리합니다.↩︎