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 데이터분석> 내용을 참고하며 정리하였습니다.
'Programming > R' 카테고리의 다른 글
[R 데이터분석 기초] 상자 그림 그리기 boxplot | 평균값, 최댓값, 최솟값, 중앙값, 사분위수 의미 (0) | 2022.07.31 |
---|---|
[R 데이터분석 기초] 데이터 분석을 위한 5단계 과정 순서 (0) | 2022.07.09 |
[R] R 프로그램 개발 환경 설치하기, R 스튜디오 다운로드, 설치 방법 (0) | 2022.07.04 |
댓글