본문 바로가기
Programming/R

[R 데이터분석 기초] 데이터의 생김새, 종류, 생성 방법 | 벡터, 행렬, 배열, 리스트, 데이터 프레임

by 잇포에듀 2022. 7. 14.
반응형

R 데이터 분석 기초 :: 데이터의 종류 및 생성 방법 (벡터, 행렬, 배열, 리스트, 데이터 프레임)

데이터 구조 간 관계 및 데이터 유형

데이터 구조와 형태에 따른 분류

  • 벡터: 한 가지 데이터 유형으로 구성된 1차원 구조의 데이터
  • 행렬: 한 가지 데이터 유형으로 구성된 2차원 구조의 데이터
  • 배열: 행렬을 n차원으로 확대한 구조의 데이터
  • 리스트: 숫자형 벡터, 문자형 벡터 등 여러 데이터 유형히 포함된 1차원 구조의 데이터
  • 데이터 프레임: 리스트를 2차원으로 활대한 구조의 데이터

데이터 유형

  • 숫자형: 숫자로만 이루어진 데이터
  • 문자형: 문자로만 이루어진 데이터
  • 논리형: TRUE / FALSE로 이루어진 데이터

데이터 유형에 따른 분류

  • 단일형: 숫자형 또는 문자형과 같이 한 가지 데이터 유형으로만 구성된 데이터. 예) 벡터, 행렬, 배열
  • 다중형: 숫자 데이터 또는 문자 데이터 등 여러 가지 데이터 유형으로 구성된 데이터. 예) 리스트, 데이터 프레임

차원에 따른 분류

  • 1차원 데이터: 직선 위에 나열되어 있어 찾고자 하는 값이 기준점을 중심으로 얼마만큼 떨어져 있는지(몇 번째인지)만 알면 되는 데이터.
  • 2차원데이터/n차원 데이터: 두 가지 정보 혹은 n가지 정보를 알아야 원하는 값을 찾을 수 있는 데이터. 

벡터

벡터는 데이터 구조의 가장 기본 형태입니다. 벡터는 1차원이며 한 가지 데이터 유형으로 구성됩니다.

 

벡터는 할당 연산자인 <- 기호와 c() 함수를 이용해 생성합니다.

 

변수명 <- c(값)

 

변수명에 할당되는 값은 종류에 따라 숫자형(numeric), 정수형(integer), 문자형(character), 논리형(logical)으로 나눌 수 있습니다.

 

ex_vector1 <- c(0, 1, 2)
ex_vector2 <- c("Hello", "World")
ex_vector3 <- c(TRUE, FALSE)

 


범주형 자료

범주형 자료는 특수한 형태의 벡터로 이루어져있으며, "과일", "나라명", "도서명" 등과 같이 종류를 나타내는 데이터를 의미합니다. 

 

범주형 자료는 factor() 함수를 사용하여 생성합니다.

 

factor(범주화할 자료, labels = c("범주1", "범주2"))

 

ex_vector5 <- c(2, 1, 3, 2, 1)
ex_vector5

cate_vector5 <- factor(ex_vector5, labels = c("Apple", "Banana", "Cherry"))
cate_vector5

 


행렬과 배열

행렬

행렬은 행과 열로 구성된 2차원 단일형 데이터입니다.

 

행렬은 matrix() 함수를 이용하여 생성할 수 있습니다.

 

matrix(벡터, nrow = 행 개수, ncol = 열 개수)
x <- c(1, 2, 3, 4, 5, 6)
matrix(x, nrow = 2, ncol = 3)
matrix(x, nrow = 3, ncol = 2)

 

 

행렬 개수에 따라 벡터 데이터가 행 기준으로 위에서 아래 순서로 배치됩니다. 배치를 바꾸고 싶다면 byrow = T 옵션을 추가하여 순서를 변경할 수 있습니다. (기본값은 byrow = F 입니다.)

 

x <- c(1, 2, 3, 4, 5, 6)
matrix(x, nrow = 2, ncol = 3)
matrix(x, nrow = 2, ncol = 3, byrow = T)

 

 

차이가 보이시나요? 데이터가 담기는 순서를 잘 숙지해놓아야겠습니다.


배열

배열행렬을 n차원으로 확대한 구조의 단일형 데이터입니다.

 

배열은 array() 함수를 이용하여 생성합니다.

 

array (변수명, dim = c(행 수, 열 수, 차원 수))

 

y <- c(1, 2, 3, 4, 5, 6)
array(y, dim = c(2, 2, 3))

 

 

행렬과의 차이가 보이시나요? 차원수를 3으로 지정했기 때문에 2X2 행렬 3개가 생성되었습니다.


리스트와 데이터 프레임

리스트

리스트는 1차원이며 다중형 데이터로 숫자형과 문자형 등 여러 가지 데이터형을 동시에 포함할 수 있는 데이터 세트입니다.

 

리스트는 list() 함수를 사용하여 생성합니다.

list1 <- list(c(1, 2, 3), "Hello")
list1

 


데이터 프레임

데이터 프레임은 숫자형 벡터, 문자형 벡터 등 서로 다른 형태의 데이터를 묶을 수 있는 다중형 데이트 세트입니다. 엑셀의 데이터 구조와 매우 유사합니다. 행렬과 비슷해 보이지만, 데이터 프레임의 각 열에는 변수명이 있어야 합니다.

 

데이터 프레임은 data.frame() 함수를 이용하여 생성합니다.

 

data.frame (변수명1, 변수명2, ..., 변수명n)

 

ID <- c(1, 2, 3)
SEX <- c("F", "M", "F")
AGE <- c(50, 40, 30)
AREA <- c("서울", "경기", "부산")
dataframe_ex <- data.frame(ID, SEX, AGE, AREA)
dataframe_ex

 


이 내용은 아래의 책 <혼자 공부하는 R 데이터분석> 내용을 참고하며 정리하였습니다.

 

https://bit.ly/3Naykop

 

혼자 공부하는 R 데이터 분석 - YES24

혼자 해도 충분하다! 1:1 과외하듯 배우는 R 데이터 분석 자습서이 책은 독학으로 R 데이터 분석을 배우는 입문자가 ‘꼭 필요한 내용을 제대로’ 학습할 수 있도록 구성했다. ‘무엇을’, ‘어떻

www.yes24.com

 

 

반응형

댓글