R 데이터 가공하기
데이터 전처리
원하는 형태로 데이터 가공하기
- 데이터 전처리(Preprocessing) - dplyr 패키지
함수 | 기능 |
---|---|
filter() | 행 추출 |
select() | 열(변수) 추출 |
arrange() | 정렬 |
mutate() | 변수 추가 |
summarise() | 통계치 산출 |
group_by() | 집단별로 나누기 |
left_join() | 데이터 합치기(열) |
bind_rows() | 데이터 합치기(행) |
조건에 맞는 데이터만 추출하기 (행)
1 | library(dplyr) |
1 | ''' 추출한 행으로 데이터 만들기 ''' |
- R에서 사용하는 기호들
논리연산자 | 기능 |
---|---|
< | 작다 |
<= | 작거나 같다 |
> | 크다 |
>= | 크거나 같다 |
== | 같다 |
!= | 같지 않다 |
| | 또는 |
& | 그리고 |
%in% | 매칭 확인 |
산술 연산자 | 기능 |
---|---|
+ | 더하기 |
- | 빼기 |
* | 곱하기 |
/ | 나누기 |
^, ** | 제곱 |
%/% | 나눗셈의 몫 |
%% | 나눗셈의 나머지 |
실습
1 | ''' |
필요한 변수만 추출하기
1 | exam %>% select(math) |
실습
1 | ''' |
순서대로 정렬하기
1 | exam %>% arrange(math) # math 오름차순 정렬 |
실습
1 | ''' |
새로운 변수 추가하기
1 | exam %>% |
실습
1 | ''' Q1. mpg데이터 복사본을 만들고, cty와 hwy를 더한 '합산 연비 변수'를 추가하세요. ''' |
집단별로 요약하기
1 | exam %>% summarise(mean_math = mean(math)) |
- 자주 사용하는 요약통계량 함수
함수 | 의미 |
---|---|
mean() | 평균 |
sd() | 표준편차 |
sum() | 합계 |
median() | 중앙값 |
min() | 최솟값 |
max() | 최댓값 |
n() | 빈도 |
1 | mpg %>% |
- dplyr 조합하기
회사별로 “suv” 자동차의 도시 및 고속도로 통합 연비 평균을 구해 내림차순으로 정렬하고, 1~5위까지 출력하기
절차 | 기능 | dplyr 함수 |
---|---|---|
1 | 회사별로 분리 | group_by() |
2 | suv 추출 | filter() |
3 | 통합 연비 변수 생성 | mutate() |
4 | 통합 연비 평균 산출 | summarise() |
5 | 내림차순 정렬 | arrange() |
6 | 1~5위까지 출력 | head() |
1 | mpg <- as.data.frame(ggplot2::mpg) |
실습
1 | ''' |
데이터 합치기
가로로 합치기
1 | test1 <- data.frame(id = c(1, 2, 3, 4, 5), |
세로로 합치기
1 | group_a <- data.frame(id = c(1, 2, 3, 4, 5), |
실습
- mpg 데이터의 fl변수는 자동차에 사용하는 연료(fuel)를 의미합니다. 아래는 자동차 연료별 가격을 나타낸 표입니다.
fl | 연료 종류 | 가격(갤런당 USD) |
---|---|---|
c | CNG | 2.35 |
d | diesel | 2.38 |
e | ethanol E85 | 2.11 |
p | premium | 2.76 |
r | regular | 2.22 |
1 | fuel <- data.frame(fl = c("c", "d", "e", "p", "r"), |
정리하기
1 | ''' 1.조건에 맞는 데이터만 추출하기 ''' |
실습
- 미국 동북중부 437개 지역의 인구통계 정보를 담고 있는 midwest 데이터를 사용해 데이터 분석 문제를 해결해 보세요. midwest는 ggplot2패키지에 들어 있습니다.
1 | ''' |