05-1 dplyr 패키지
<dplyr 패키지>
- 기존의 plyr패키지를 C++로 개선하여 만든 데이터 처리 패키지
- 프로그래밍에 익숙하지 않아도 함수를 쉽고 빠르게 사용할 수 있다.
[dplyr 패키지 설치 및 로드]
install.packages("dplyr")
library(dplyr)
<데이터 추출 및 정렬하기>
[행 추출하기 : filter() 함수]
filter() 함수는 조건에 맞는 데이터를 필터링하는 함수이다.
filter(데이터,조건문)
- &연산자를 사용하면 더 많은 조건을 지정할 수 있다.
[열 추출하기 : select() 함수]
select() 함수는 열, 즉 지정한 변수만 추출할때 사용한다.
select(데이터, 변수명1, 변수명2, ...)
[정렬하기 : arrange() 함수]
arrange() 함수는 데이터를 오름차순으로 정렬할때 사용합니다.
여러개의 열을 기준으로 지정할 수있으며, 내림차순으로 정렬할때는 desc() 함수를 사용합니다.
arrange(데이터, 변수명1, 변수명2, ...) # 오름차순 정렬
arrange(데이터, 변수명1, 변수명2, ..., desc(변수명)) # 내림차순 정렬
※ 오름차순 정렬 기준
1. 숫자형 변수 : MISSING(결측치), 음수, 0, 양수
2. 문자형 변수 : 빈칸, !"#$%&'()*+-./0123456789:;⇔?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[/]_
<데이터 추가 및 중복데이터 제거하기>
[열 추가하기 : mutate() 함수]
mutate() 함수는 데이터 세트에 열을 추가할때 사용합니다.
기존 열을 가공한 후 그 결괏값을 기존 열이나 새로운 열에 할당할 수 있습니다.
mutate(데이터, 추가할 변수 이름 = 조건 1, ...)
[중복 값 제거하기 : distinct() 함수]
distinct() 함수는 중복 값을 제거할 때 사용합니다.
distinct(데이터, 변수명)
- 한 번에 여러 열을 지정하면 각 열에서 중복된 값이 제거되는것이 아니라 지정한 열들의 모든 값이 동일할때만 제거됩니다.
<데이터 요약 및 샘플 추출하기>
[데이터 전체 요약하기 : summarise() 함수]
summarise() 함수는 기술통계 함수와 함께 사용하여 데이터 요약을 확인할때 사용합니다.
summarise(데이터 요약할 변수명 = 기술통계 함수)
# 요약할 변수명 = 열이름(컬럼명)
[그룹별로 요약하기 : group_by() 함수]
group_by() 함수는 그룹별로 데이터를 요약할때 사용합니다.
group_by(데이터, 변수명)
- n() 함수 : 데이터 개수를 구하는 함수
- n_distinct() : 중복 값을 제외한 데이터들의 개수
[샘플 추출 하기 : sample_n(), sample_frac() 함수]
sample_n()함수는 전체 데이터에서 샘플 데이터를 개수 기준으로 추출합니다.
sample_n(데이터, 샘플 추출할 개수)
sample_frac() 함수는 전체 데이터에서 샘플 데이터를 비율 기준으로 추출합니다.
sample_frac(데이터, 샘플 추출할 비율)
[파이프 연산자 : %>%]
- 파이프연산자는 연결하여 연산하는 연산자 입니다.
- 파이프 연산자를 사용하면 함수를 연달아 사용할때 함수 결과값을 변수로 저장하는 과정을 거치지 않아도 됩니다.
- 그래서 전체 코드가 간결해져 가독성이 좋아집니다.
05-2 데이터 가공하기
[데이터 가공]
- 변수를 생성하거나 변수명을 변경하고, 조건에 맞는 데이터를 추출하거나 변경하고 데이터를 정렬하고 병합하는 일련의 과정
- 데이터 전처리, 데이터 핸들링, 데이터 마트 등의 용어가 유사한 의미로 사용된다.
<가로결합>
left_join() | 테이블 1 기준으로 테이블 2의 나머지 변수를 가로 결합 |
inner_join() | 테이블1과 테이블2 기준으로 변수값이 동일할때만 가로 결합 |
full_join() | 테이블1과 테이블2 기준으로 지정한 변수 값 전체를 가로 결합 |
05-3 데이터 구조 변형하기
[데이터 재구조화]
- 동일한 데이터라도 목적에 따라 분석 기준이 달라지며 그때마다 데이터 구조를 변형해야할때가 있습니다.
- 데이터의 재구조화에는 reshape2 패키지를 사용합니다.
melt() | 데이터 열을 행으로 바꾼다. |
acast() | 데이터의 행을 열로 바꾼다(벡터,행렬,배열로 반환) |
dcast() | 데이터의 행을 열로 바꾼다(데이터프레임으로 반환) |
05-4 데이터 정제하기
결측치 : 누락된 값, 데이터가 없는 것을 의미
이상치 : 일반적인 값보다 편차가 큰 값
데이터 정제 : 결측치나 이상치를 처리하는 과정
<결측치 확인하기>
is.na() 함수 : 결측치를 확인하여 결괏값을 TRUE, FALSE로 반환하며 결측치는 TRUE로 반환됩니다.
is.na(변수명)
table(is.na())함수 : 결측치 빈도를 확인, 결측치가 몇개 있는지 개수가 조회 된다.
table(is.na(변수명))
<결측치 제외하기>
na.rm=T옵션을 넣으면 된다.
예) sum()함수에서 사용할 경우
sum(x, na.rm = T)
<결측치 개수 확인하기>
sum(is.na()) 함수 : 데이터 세트에 결측치가 총 몇개인지 확인합니다.
sum(is.na(변수명))
colSums(is.na()) 함수 : 각 컬럼에 결측치가 총 몇개인지 확인합니다.
colSums(is.na(변수명))
<결측치 제거하기>
na.omit()함수 : 결측치가 있는 행 전체를 데이터 시트에서 제거한 후 데이터를 출력합니다.
na.omit(변수명)
<결측치 대체하기>
결측치를 제외하거나 제거할 수도 있지만, 다른값으로 대체할 수도 있습니다.
변수명[is.na(변수명)] <- 대체할 값
<이상치 확인 및 처리하기>
- 이상치는 상자그림을 통해 쉽게 확인할수 있다.
- 그리고 이런 이상치는 조건문으로 쉽게 처리할수 있다.
'혼공단 > 혼공단 8기' 카테고리의 다른 글
혼자 공부하는 R데이터분석 6장 - 데이터 시각화 : ggplot2 패키지 (0) | 2022.08.18 |
---|---|
[혼공단 8기] 혼자 공부하는 R 데이터 분석 5주차 후기 및 미션 인증하기 (0) | 2022.08.13 |
[혼공단 8기] 혼자 공부하는 R 데이터 분석 4주차 후기 및 미션 인증하기 (0) | 2022.07.29 |
혼자 공부하는 R데이터분석 4장 - 데이터 다루기 (0) | 2022.07.29 |
[혼공단 8기] 혼자 공부하는 R 데이터 분석 3주차 후기 및 미션 인증하기 (0) | 2022.07.24 |