AI Big Data/R

데이터 전처리

retro_blue 2020. 7. 22. 18:44
반응형

분석에 적합하게 데이터를 가공하는 작업을 데이터 전처리 '(Data Preprocessing)'라고 합니다.

일부를 추출하거나, 종류별로 나누거나, 여러 데이터를 합치는 등 데이터를 자유롭게 가공함으로써 목적에 맞는 데이터 분석을 하기에 용이합니다.

 

데이터 가공(Data Manipulation), 데이터 핸들링(Data Handling), 데이터 랭글링(Data Wrangling), 데이터 먼징(Data Munging) 등과 같은 용어도 데이터 전처리와 비슷한 의미로 사용됩니다.

 

 

dplyr 패키지는 데이터 전처리 작업에 가장 많이 사용되는 패키지입니다.

 

dplyr 함수 기능
filter() 행 추출
select() 열(변수) 추출
arrange() 정렬
mutate() 변수 추가
summarise() 통계치 산출
group_by() 집단별로 나누기
left_join() 데이터 합치기(열)
bind_rows() 데이터 합치기(행)

 

1. 조건에 맞는 데이터만 추출하기

 

 

 

 

 

- dplyr 패키지는 %>% 기호를 이용해 함수들을 나열하는 방식으로 코드 작성

 

- filter()에 조건을 입력하면 조건에 해당되는 행만 추출

 

- filter()에 조건을 입력할 때 '같다' 를 의미하는 등호 =를 두 번 반복해 써야 합니다.

 

- 함수의 파라미터를 지정할 때는 등호를 한 번 쓰고, '같다'를 의미할 때는 등호를 두 번 씁니다.

 

** %>% 기호는 '파이프 연산자(pipe operator) 라고 읽습니다. Ctrl + Shift + M을 누르면 삽입됩니다.

 

 

 

 

 

 

 

 

 

 

- 특정 값이 아닌 경우에는 등호 앞에 느낌표를 붙여 != 라고 쓰면 '같지 않다' 를 의미하는 기호가 됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

부등호를 이용하면 특정 값 초과나 미만인 경우, 혹은 특정 값 이상이나 이하인 경우에 해당하는 데이터만 추출할 수 있습니다.

 

만약 여러 조건을 충족하는 행을 추출하려면 어떻게 할까요?

 

'그리고(and)'를 의미하는 기호 &를 사용해 조건을 나열하면 여러 조건을 동시에 충족하는 행을 추출할 수 있습니다.

그럼 이번에는 여러 조건 중 하나 이상 충족하는 행을 추출하는 방법을 알아보겠습니다.

'또는(or)'을 의미하는 '|' 기호를 이용하면 여러 조건 중 하나라도 충족하는 데이터를 추출할 수 있습니다.

* | 기호는 '버티컬 바(Vertical Bar)' 라고 읽습니다. shift + \를 누르면 됩니다.

 

목록에 해당하는 행을 추출하는 방법을 알아보겠습니다.

변수의 값이 지정된 목록에 해당될 경우만 추출해야 할 경우에 이 방법을 사용합니다.

앞에서 다룬 | 기호를 이용해 여러 조건을 나열하면 됩니다.

 

%in% 기호를 사용하면 코드를 좀 더 간편하게 작성할 수 있습니다.

%in% 기호는 '매치 연산자(Matching Operator)'라고 읽습니다.

 

%in% 기호와 c() 함수를 이용해 조건 목록을 입력하면 됩니다.

%in% 기호는 변수의 값이 지정한 조건 목록에 해당하는지 확인하는 기능을 합니다.

 

 

 

 

* R에서 사용하는 기호들

 

- 조건을 지정할 때 사용하는 기호를 '논리 연산자(Logical Operators)'

- 계산할 때 사용하는 기호들을 '산술 연산자(Arithmetic Operators)'

 

논리 연산자 기능 산술 연산자 기능
< 작다 + 더하기
<= 작거나 같다 - 빼기
> 크다 * 곱하기
>= 크거나 같다 / 나누기
== 같다 ^ , ** 제곱
!= 같지 않다 %/% 나눗셈의 몫
| 또는 %% 나눗셈의 나머지
& 그리고    
%in% 매칭 확인    

 

## 연습문제

mpg 데이터를 이용한 분석 문제 해결

 

Q1. 자동차 배기량에 따라 고속도로 연비가 다른지 알아보려고 합니다. displ(배기량)이 4 이하인 자동차와 5 이상인 자동차 중 어떤 자동차의 hwy(고속도로 연비) 가 평균적으로 더 높은지 알아보세요.

 

→ 배기량의 4 이하인 자동차의 평균 연비가 더 높다.

 

 

Q2. 자동차 제조 회사에 따라 도시 연비가 다른지 알아보려고 합니다. "audi"와 "toyota" 중 어느 manufacturer(자동차 제조 회사)의 cty(도시 연비)가 평균적으로 더 높은지 알아보세요.

 

→ toyota 사의 평균 연비가 더 높다.

 

 

 

Q3. "chevrolet", "ford", "honda" 자동차의 고속도로 연비 평균을 알아보려고 합니다. 이 회사들의 데이터를 추출한 후 hwy 전체 평균을 구해 보세요.

 

→ 22.50943

 

 


[참고자료]

(Book) Do it! 쉽게 배우는 R 데이터 분석 - 이지스퍼블리싱

Do it! 쉽게 배우는 R 데이터 분석
국내도서
저자 : 김영우
출판 : 이지스퍼블리싱 2017.07.20
상세보기
반응형

'AI Big Data > R' 카테고리의 다른 글

필요한 변수만 추출하기  (0) 2020.07.24
파생변수 만들기  (0) 2020.07.21
변수명 바꾸기  (0) 2020.07.21
데이터 파악하기  (0) 2020.07.20
데이터 프레임 이해하기  (0) 2020.07.19