코딩초보 김씨
[R] 5가지 데이터 유형 본문
R의 데이터 유형 5가지 Vector, List, Factor, Matrix, Dataframe
[ 1. Vector, List, Factor, Matrix, Dataframe ]
0) Vector란? 1차원 데이터 (몸무게 데이터와 같은 단일 주제의 데이터)
아래에서 설명할 Matrix(행렬)와 Dataframe은 2차원 데이터
1) Vector 만들기
변수명 <- c( )
변수명 <- seq(시작값, 끝값, 간격)
변수명 <- rep(vector, times=반복 횟수) # vector : 1, 1:5, c(1,2,3,4,5) 등 여러 형태로 들어갈 수 있다.
2) Vector 원소값 추출
# 벡터 생성
x <- c(1,2,3,4,5)
# 인덱싱
x[1] # 1
x[c(1,3,5)] # 1 3 5
x[seq(1,5,2)] # 1 3 5
x[-2] # 1 3 4 5
3) Vector 연산 & 논리연산
# 벡터 생성
x1 <- c(1,2,3,4,5)
x2 <- c(6,7,8,9,10)
# 연산
x1 + x2 # 7 9 11 13 15
x1-5 # -4 -3 -2 -1 0
2*x # 2 4 6 8 10
# 논리연산
x1>=3 # 3 4 5
x[x>3] # 4 5
sum(x>3) # 2(3보다 큰 값의 개수)
sum(x[x>3]) # 9(3보다 큰 값의 합계)
[Vector, 2. List, Factor, Matrix, Dataframe ]
1) 정의 : 서로 다른 자료형의 값들을 1차원 배열에 저장하고 다룰 수 있도록 하는 수단
2) List 만들기
score <- c(90,80,70,60)
my.info <- list(name='kim', age='2X', status=TRUE, score=score)
my.info # 저장된 내용 전체 출력
my.info$name # kim
my.info[4] # $score [1] 90 80 70 60 (리스트 네번째 ?? 전체 출력)
my.info[[4]] # 90 80 70 60 (리스트 네번째 값 출력)
[Vector, List, 3. Factor, Matrix, Dataframe ]
1) Factor 만들기 : 변수명 <- factor(vector, lables= , levels= , ordered= )
- lables : vector의 이름 변경, 지정 가능
- levels : vector 집단의 순서를 표시
- ordered(True/False) : 순서형 자료 표시
# 벡터vector 정의
x <- c('A', 'B', 'B', 'O', 'AB', 'A')
# factor 정의
x.factor <- factor(x)
# x 출력--------------------------------------------------------
x
결과 : "A" "B" "B" "O" "AB" "A"
# x.factor 출력-------------------------------------------------
x.factor
결과 : A B B O AB A / Levels: A AB B O
# label 지정-----------------------------------------------------
x.factor <- factor(x, labels = c("A형", "AB형", "B형", 'O형'))
결과 : [1] A형 B형 B형 O형 AB형 A형
Levels: A형 AB형 B형 O형
[Vector, List, Factor, 4. Matrix, Dataframe ]
0) Matrix란? 2차원 데이터 (몸무게, 키, 나이와 같은 여러 주제의 데이터)
행렬의 모든 셀에 동일한 자료형의 값이 저장되어야 함
아래에서 설명할 Dataframe도 2차원 데이터, 다른 자료형 가능
1) Matrix만들기
matrix(vector, nrow= , ncol= , byrow=TRUE)
# byrow : TRUE 값을 가로로 채움/FALSE(DEFAULT) 세로로 채움
rbind(vector1, vector2, ...)
# elements 가로로 추가
cbind(vector1, vector2, ...)
# elements 세로로 추가
[Vector, List, Factor, Matrix, 5. Dataframe ]
0) Dataframe란? 2차원 데이터 (몸무게, 키, 나이와 같은 여러 주제의 데이터)
서로 다른 자료형의 값들이 함께 저장 (단, 하나의 열에는 하나의 데이터 유형만 가짐)
1) Dataframe 만들기
city <- c("Seoul","Tokyo","Washington") # 문자로 이루어진 벡터
rank <- c(1,3,2) # 숫자로 이루어진 벡터
city.info <- data.frame(city, rank) # 데이터프레임 생성
city.info
[결과]
city rank
1 Seoul 1
2 Tokyo 3
3 Washington 2
2) 속성 확인
# 행/열 갯수 출력
dim(dataframe)
nrow(dataframe)
ncol(dataframe)
# 열 이름 출력
colnames(dataframe)
# 데이터셋 앞/뒷부분 일부 출력
head(dataframe)
tail(dataframe)
# 데이터셋 요약 정보 확인
str(dataframe)
# 열 값 종류 확인(중복 제거)
unique(dataframe[열])
3) 행렬, 데이터프레임에서 사용하는 함수
# 행/열별 합계/평균
colSums(dataframe[열])
colMeans(dataframe[열])
rowSums(dataframe[열])
colMeans(dataframe[열])
# 행/열 transpose
t(dataframe)
# 행/열 값 추출
객체 <- subset(dataframe, 조건, select=)
# select : select로 지정한 열만 반환 또는 제외하고 반환
4) 자료구조 확인 및 변환
# 자료구조 확인
class(dataframe)
# matrix/dataframe인지 확인
is.matrix(dataframe)
is.data.frame(dataframe)
# 자료구조 변환
matrix_df <- data.frame(matrix)
dataframe_m <- as.matrix(dataframe)
'R' 카테고리의 다른 글
| [R] 단일변수 자료의 분석,탐색 방법 (0) | 2021.06.18 |
|---|---|
| [R] 조건에 맞는 데이터의 위치 찾기 (0) | 2021.06.18 |
| [R] 조건문, 반복문, 함수 (1) | 2021.06.18 |
| [R] 변수와 벡터 - 복습 문제 & 정답 (0) | 2021.06.18 |
| [R] 설치 및 시작 + 저장 위치(디렉토리) 설정 (0) | 2021.06.17 |
Comments