728x90

Review
참고 포스팅 :

2020/05/13 - [R Programming/Basics] - [R] R의 자료구조 1 - 변수, 스칼라 + 데이터 타입(Data Type) 맛보기

[R] R의 자료구조 1 - 변수, 스칼라 + 데이터 타입(Data Type) 맛보기

Review 참고 포스팅 : RStudio 시작 - R Projects 정의, 작업공간 설정(getwd, setwd), 저장 등 https://datalabbit.tistory.com/9 [R] RStudio 시작 - R Projects 정의, 작업공간 설정(getwd, setwd), 저장 등 안..

datalabbit.tistory.com

2020/05/19 - [R Programming/Basics] - [R] R의 자료구조 2 - 벡터, 행렬

[R] R의 자료구조 2 - 벡터, 행렬

Review 참고 포스팅 : 2020/05/13 - [R Programming/Basics] - [R] R의 자료구조 1 - 변수, 스칼라 + 데이터 타입(Data Type) 맛보기 [R] R의 자료구조 1 - 변수, 스칼라 + 데이터 타입(Data Type) 맛보기 Review..

datalabbit.tistory.com


안녕하십니까, 간토끼입니다.

저번 포스팅에서는 변수 정의부터 벡터, 행렬까지의 자료구조에 대해서 다뤄보는 시간을 가졌습니다.

이번 포스팅에서는 배열(Array)과 데이터 프레임(Data Frame)에 대해서 다뤄보며 자료 구조를 마무리하겠습니다.

1. 배열(Array)
행렬은 2차원으로 이루어진 데이터지만, 다른 의미로 생각해보면 1차원 벡터를 여러개로 겹쳐놓은 형태라고 이해할 수 있을 것 같습니다.
마찬가지로 배열은 2차원 데이터인 행렬을 여러개 쌓아올려 3차원으로 확장한 것을 의미합니다.


1부터 12까지의 숫자형 데이터를 2 x 3의 매트릭스를 2개로 만든 후, 이를 쌓은 형태로 표현하였습니다.
사실 별로 중요한 개념은 아닙니다. 잘 안 써요.

2. 데이터 프레임(Data Frame)
사실 이 친구가 제일 중요합니다.
그냥 우리가 앞으로 다룰 데이터는 이 데이터프레임 형태로 되어있다고 생각하시면 편합니다.

앞서 다루었던 벡터, 행렬, 배열은 데이터를 배치하는 공간이 1차원에서 다차원으로 확장되지만, 한 가지 데이터 타입만을 위주로 다루는 자료 구조입니다.

그러나 우리가 데이터를 다룬다 할 때는, 일반적으로 엑셀 같은 스프레드시트를 지칭할 것입니다.
즉 한 기업의 판매내역 데이터를 가정하면,
어떤 변수 X1은 구매자의 이름, X2는 구매자의 주소, X3는 구매자의 구매 여부, X4는 구매자의 구매액 등 다양한 자료형이 혼재된 데이터일 것이란 거죠?

  이름 주소 구매 여부 구매액
1 홍길동 서울시 XX O 58,700
2 김개똥 인천시 YY X 0


이런 데이터를 쉽게 다룰 수 있도록 하는 자료구조를 우리는 데이터 프레임이라고 부릅니다.
R이 통계 프로그래밍에서 강점을 보이는 이유가 바로 이것 때문입니다.
자동으로 데이터 프레임이란 형태가 내장되어 있기 때문이죠.

즉, 행렬과 유사한 2차원 구조이지만, 각각의 독립적인 데이터 타입을 Column에 담아낼 수 있기 때문에, R프로그래밍에서는 데이터 프레임이 가장 빈번하게 사용되고, 핵심적으로 사용됩니다.

실제로 R을 이용해 위 데이터를 구현해보겠습니다.

data.frame( ) 이란 함수를 이용해 정의하면 됩니다.

또한 구매자의 회원 등급을 나타내는 새로운 열을 추가하겠습니다.

이때 데이터프레임 뒤에 '$' 기호를 사용하여 칼럼을 구분합니다.

또한 factor라는 데이터 타입이 있는데요. 이는 범주형 데이터를 표현할 때 쓰입니다.
단순 문자열(char)이랑 다르니 범주형 데이터를 표현할 땐 factor를 사용한다는 것 참고하세요!

또한 우리가 불러온 데이터의 특성을 파악하는 방법은 str( )이란 함수와 summary( )라는 함수를 사용합니다.
str은 데이터프레임이 전반적으로 어떤 구조로 이루어져 있는지 다양한 정보를 알려주는 함수고,
summary는 각 변수(열)의 기술통계량을 제공하는 함수입니다.


근데 데이터프레임의 변수명이 a,b, ... 등 알파벳이라 구분하기 어려워보이죠?
변수명을 바꾸고 싶을 땐 colnames( )이란 함수를, 행이름을 바꾸고 싶을 땐 rownames( )를 사용해줍니다.
참고로 행을 row라고 부르고, 열을 column이라고 부릅니다.


또한 우리가 정의한, 혹은 불러온 데이터프레임의 형태를 직접 보고 싶다면
View( ) 라는 함수를 사용하거나, 하단의 데이터를 직접 클릭합니다.

직접 이렇게 볼 수 있습니다.

계속 기초적인 것만 다루니 노잼이네요.

사실 리스트라는 자료구조도 있는데 그냥 패스하겠습니다.

다음 포스팅부턴 본격적인 데이터를 다루는 데이터핸들링에 대해서 다뤄보겠습니다.

감사합니다.
잘 읽으셨다면 게시글 하단에 ♡(좋아요) 눌러주시면 감사하겠습니다 :)
(구독이면 더욱 좋습니다 ^_^)



- 간토끼(DataLabbit)
- University of Seoul
- Economics, Data Science

728x90

+ Recent posts