R 데이터 구조
- 단일형 : 숫자형 또는 문자형과 같이 한가지 데이터 형태로만 구성된 데이터
- 다중형 : 여러가지 데이터 형태로 구성된 데이터
구분 | 1차원 | 2차원 | n차원 |
단일형 | 벡터 | 행렬 | 배열 |
다중형 | 리스트 | 데이터 프레임 |
1. 벡터 vector
데이터 구조의 가장 기본으로 1차원으로 구성되어 있는 데이터구조
형태가 다른 원소를 담을 경우엔 자료형 강제 변환coercion이 수행된다.
ex_vector1 <- c(-1, 0, 1) # 숫자형 벡터
str(ex_vector1) # 변수의 속성 확인
length(ex_vector) # 벡터 ex_vector1의 길이(=들어간 값의 개수)
ex_vector2 <- c("Hello", "Hi") # 문자형 벡터
ex_vector3 <- c("1", "2") # 문자형 벡터 (""로 감싸면 전부 문자형)
str(ex_vector2) # 변수의 속성 확인
str(ex_vector3) # 변수의 속성 확인
length(ex_vector2) # 벡터 ex_vector2의 길이
length(ex_vector3) # 벡터 ex_vector3의 길이
2. 행렬 Matrix
# matrix(변수명, nrow=행 개수, ncol=열개수)
x <- c(1,2,3,4,5,6)
matrix(x, nrow=2, ncol=3) # 변수 x를 2*3행렬로 구성(위에서 아래로)
matrix(x, nrow=2, ncol=3, byrow=T) # 변수 x를 2*3행렬로 구성(왼쪽에서 오른쪽으로)
3. 배열 Array
행렬을 n차원으로 확대한 구조로 단일형 데이터
# array(변수명, dim=c(행 수, 열 수, 차원 수))
y <- c(1,2,3,4,5,6)
array(y, dim=c(2,2,3)) # 변수 y를 2*2행렬, 3차원 배열로 구성
4. 리스트 List
벡터와 유사하게 순서화된 객체들을 포함하는 자료형. 단, 리스트는 여러 종류의 데이터 객체를 포함할 수 있다.
벡터와 같이 인덱스 번호로 내부 데이터 접근이 가능하다. 단, []로 접근하면 해당 원소가 들어있는 '리스트'를 리턴하며, 화면에는 해당 리스트의 원소도 출력된다. 따라서 [[]]을 사용해야 해당 원소 자체에 접근한다.
리스트에 저장된 데이터는 인덱스 또는 키를 사용해 접근할 수 있다.
- x$key : 리스트 x에서 키 값 key에 해당하는 값
- x[[n]] : 리스트 x에서 n번째에 저장된 값
- x[n] : 리스트 x에서 n번째 데이터의 서브리스트
list1<- list(1, "g", c(12,34))
list1
str(list1) # 변수의 속성 확인
list1[3] # list1에서 3번째 데이터(=벡터)의 서브리스트
length(list1[3])
list1[[3]] # list1에서 3번째에 저장된 '값'들을 출력
length(list1[[3]])
list1[[3]][1] # list1에서 3번째 데이터(=벡터)가 가지고 있는 첫번째 값 출력
5. 데이터 프레임 Data Frame
다양한 데이터 타입이 조합된 이차원의 배열.
행렬과 유사하지만 각 열이 다른 데이터 타입을 가질 수 있다. + 데이터 프레임의 각 열에는 변수명이 있어야 한다.
- 데이터 프레임으로 데이터 세트를 구성할 때는 각 변수에 들어 있는 관측치의 개수가 동일해야 data.frame() 함수를 적용할 수 있다.
RDBMS 테이블과 유사 → 실제로 SQL 쿼리문을 기반으로 data frame 조작하는 package도 존재
- names() : 데이터 프레임의 header
- summary() : 각 열의 max_value, min value, mean 을 비롯한 summary statistic 요약통계 정보 → EDA : 탐색적 데이터 분석
# data.frame(변수명1, 변수명2, ...., 변수명n)
dataframe_ex <- data.frame(ID=c("10001","10002","10003", "10004"), Score = c(90,21,70,80))
dataframe_ex
names(dataframe_ex) # 데이터 프레임 각 열의 이름
dim(dataframe_ex) # 데이터 프레임 차원
str(dataframe_ex) # 데이터 프레임 변수 속성
summary(dataframe_ex) # 데이터 요약
nrow(dataframe_ex) # 행의 개수
ncol(dataframe_ex) # 열의 개수
dataframe_ex$ID # 열 선택에는 $기호 사용
dataframe_ex[dataframe_ex$Score>=60,]
99. 데이터 세트 삭제하기
remove(ex_vector2) # ex_vector2 벡터 삭제
rm(ex_vector3) # ex_vector3 벡터 삭제
'Data Analysis > R' 카테고리의 다른 글
[R] 프로젝트 관리 (0) | 2021.06.10 |
---|---|
[R] 자주 사용하는 패캐지와 데이터 경로 함수 (0) | 2021.06.09 |
[R] 파일 불러오기 (0) | 2021.06.08 |
[R] R 패캐지와 라이브러리 (0) | 2021.06.06 |
[R] R 스튜디오 설치와 기본 환경 설정 (0) | 2021.06.05 |