본격적으로 데이터 조작을 알아보기에 앞서, 앞으로 데이터 처리 및 기계 학습 기법의 예제로 사용할 아이리스(붓꽃(iris)) 데이터 셋에 대해 살펴보자. 아이리스는 통계학자인 피셔(Fisher)가 소개한 데이터로, 붓꽃의 3가지 종(setosa, versicolor, virginica)에 대해 꽃받침(sepal)과 꽃잎(petal)의 길이를 정리한 데이터다. 이 데이터는 R에 기본적으로 내장되어 있고, 이해하기 쉬우며 크기가 작고 기계 학습에서 인기 있는 분야 중 하나인 분류(Classification)에 적합한 데이터다. 이런 이유로 아이리스는 R뿐만 아니라 다른 데이터 분석이나 기계 학습 관련 라이브러리에서 자주 사용되고 있으므로 이 데이터를 알아두는 것 자체가 큰 의미가 있다.
아이리스의 각 행에 저장된 데이터는 다음과 같다.
컬럼명 | 의미 | 데이터 타입 |
Species | 붓꽃의 종. setosa, versicolor, virginica 세 가지 값 중 하나 | Factor |
Sepal.Width | 꽃받침의 너비 | Number |
Sepal.Length | 꽃받침의 길이 | Number |
Petal.Width | 꽃잎의 너비 | Number |
Petal.Length | 꽃잎의 길이 | Number |
iris에는 붓꽃의 종별로 50행씩, 총 150개 행이 저장되어 있다.
>head(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa >str(iris) 'data.frame': 150 obs. of 5 variables: $Sepal.Length : num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ... $Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ... $Petal.Length : num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ... $Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... $Species : Factor w/3 Levels "setosa","versicolor",... : 1 1 1 1 1 1 1 1 1 1 ... |
iris에는 붓꽃 데이터가 데이터 프레임으로 저장되어 있는 반면, iris3에는 3차원 배열 형태로 저장되어 있다.
>iris3 , , Setosa Sepal L. Sepal W. Petal L. Petal W. [1, ] 5.1 3.5 1.4 0.2 [2, ] 4.9 3.0 1.4 0.2 ... , , Versicolor Sepal L. Sepal W. Petal L. Petal W. [1, ] 7.0 3.2 4.7 1.4 [2, ] 6.4 3.2 4.5 1.5 ... , , Virginica Sepal L. Sepal W. Petal L. Petal W. [1, ] 6.3 3.3 6.0 2.5 [2, ] 5.8 2.7 5.1 1.9 ... |
이외에도 R에는 다양한 데이터 셋이 준비되어 있다. datasets 패키지에 있는 데이터 셋은 R에 기본적으로 포함된 데이터들이며, 이 데이터의 목록은 library(help=datasets) 명령으로 살펴볼 수 있다. 아래의 표에서는 R 관련 도서에서 종종 등장하는 데이터 셋을 정리했다.
데이터 셋 | 의미 |
AirPassenger | 1949년부터 1960년까지의 항공기 승객 수 |
airqualilty | 1973년 5월부터 9월까지의 뉴욕 대기 오염 정도에 대한 기록 |
cars | 자동차의 주행 속도에 따른 제동 거리 |
mtcars | 1947년 미국 모터 트렌드 매거진에 실린 32개 자동차에 대해 연료 효율을 비롯한 10여 가지 특징을 기록 |
Titanic | 타이타닉 호의 생존자 정보를 호실(1등실, 2등실, 3등실), 성별, 나이, 생존 여부로 정리 |
InsectSprays | 6종류의 살충제를 사용했을 때 각 살충제에 대해 살아남은 벌레의 수 |
Orange | 오렌지 나무의 종류, 연력, 둘레 |
swiss | 1888년경 프랑스어를 사용하는 스위스 내 47개 주의 출산율과 사회 경제적 지표(농업 종사자 비율, 군 입대 시험 성적, 교육 등) |
이들 데이터를 사용할 때는 'data(데이터 셋 이름)' 명령을 사용한다. 예를 들어, mtcars를 살펴보려면 다음과 같은 명령을 사용한다.
>data(mtcars) >head(mtcars) |
mtcars 데이터 셋의 상세 내용을 알고 싶다면 ?mtcars 또는 help(mtcars) 명령을 사용한다.
더 다양한 데이터를 원하는 분들은 기계 학습 벤치마킹 데이터를 저장한 mlbench 패키지와 UC어바인(University of California, Irvine)에서 운영하는 기계 학습 리포지터리(Machine Learning Repository) 홈페이지(http://archive.ics.uci.edu/ml/)를 살펴보기 바란다.
R을 이용한 데이터 처리&분석 실무 中
'R > R을 이용한 데이터 처리&분석 실무' 카테고리의 다른 글
데이터 프레임의 행과 컬럼 합치기 (0) | 2020.01.31 |
---|---|
파일 입출력 (0) | 2020.01.31 |
함수의 정의 (0) | 2020.01.30 |
연산 (0) | 2020.01.30 |
흐름 제어(조건문과 반복문) (0) | 2020.01.30 |