Alchemist
[R studio - 2] 데이터 가공하기 본문
#1 데이터 전처리
'데이터 전처리(Data Preprocessing)' - 분석에 적합하게 데이터를 가공하는 작업
데이터의 일부를 추출하거나, 종류별로 나누거나, 여러 데이터를 합치는 등의 가공 작업을 말한다.
dplyr 함수 | 기능 |
filter() | 행 추출 |
select() | 열(변수) 추출 |
arrange() | 정렬 |
mutate() | 변수 추가 |
summarise() | 통계치 산출 |
group_by() | 집단별로 나누기 |
left_join() | 데이터 합치기(열) |
bind_rows() | 데이터 합치기(행) |
library(dplyr)
exam <- read.csv("csv_exam.csv")
exam
실습을 위해 csv_exam.csv 파일을 데이터 프레임(exam) 으로 만들어 출력해보았다.
dplyr 패키지는 %>% 기호를 이용해 함수들을 나열하는 방식으로 코드를 작성한다.
#2 조건에 맞는 데이터만 추출하기
dplyr 패키지의 filter()를 이용하면 원하는 데이터(일부)를 추출할 수 있다.
#exam에서 class가 1인 경우만 추출해 출력
exam %>% filter (class == 1)
이를 응용해 여러가지 조건을 충족하는 행을 추출할 수도 있다.
[ & - and ] [ | - or ] 등등..
%in%와 c() 함수를 함께 이용해 조건 목록을 입력하면 더욱 간편한 코드 작성이 가능하다.
#3 필요한 변수만 추출하기
select()를 이용하면 일부 변수만 추출해 활용할 수 있다.
#exam에서 math 변수만 추출하기
exam %>% select(math)
쉼표를 넣어 변수명을 나열하면 여러 변수를 동시에 추출할 수도 있고,
제외할 변수명 앞에 - (빼기) 기호를 입력하면 해당 변수만 제외하고 추출할 수 있다,
#4 순서대로 정렬하기
arrange()를 이용하면 데이터를 원하는 순서로 정렬할 수 있다.
arrange()에 변수명을 입력하면 오름차순으로 데이터를 정렬해주며,
변수에 desc()를 적용해주면 내림차순으로 정렬해준다.
#math 오름차순 정렬
exam %>% arrange(math)
#math 내림차순 정렬
exam %>% arrange (desc(math))
#5 파생변수 추가하기
mutate()를 사용하면 기존 데이터에 파생변수를 만들어 추가할 수 있다.
mutate()에 새로 만들 변수명과 변수를 만들 때 사용할 공식을 이용하면 된다.
#세 과목의 점수를 합한 총합 변수 total 만들기
exam %>%
mutate(total = math + english + science)
쉼표를 이용해 새 변수명과 변수를 만드는 공식을 나열하면 여러 파생변수를 한번에 추가할 수 있다.
mutate()에 ifelse()를 적용하면 조건에 따라 다른 값을 부여한 변수를 추가할 수 있다.
#6 집단별로 요약하기
각 집단을 요약한 값을 구할 때는 group_by()와 summarise()를 사용한다.
두 함수들을 이용해 요약표를 만들면 집단 간에 어떤 차이가 있는지 쉽게 파악이 가능하다.
#summarise()를 이용하여 수학 점수 평균을 구한 후 새 변수에 할당해 출력해보기
exam %>% summarise(mean_math = mean(math))
#group_by()를 이용해 변수 항목별로 데이터를 분리하고, summarise()를 조합해 집단별 요약 통계량 산출하기
exam %>%
group_by(class) %>%
summarise(mean_math = mean(math))
mutate로 여러 변수를 동시에 추가했던 것처럼 summarise로도 한번에 여러 요약 통계량을 산출할 수 있다.
김영우, 『쉽게 배우는 R 데이터 분석』, 이지스 퍼블리싱, 2019
'R-coding' 카테고리의 다른 글
[R studio - 4] 데이터 정제 - 이상치 정제하기 (0) | 2019.05.26 |
---|---|
[R studio - 3 ] 데이터 정제 - 빠진 데이터 제거하기 (0) | 2019.05.15 |
[R studio - 1 ] 데이터 파악하기 + 실습 123 p (0) | 2019.04.03 |
Data Visualization - 데이터 시각화 (0) | 2019.04.01 |
R 및 R Studio 설치(2) (1) | 2019.03.25 |