05-1. dplyr 패키지
r로 개발된 plyr패키지보다 빠른 C++언어로 개선하여 만든 패키지
install.packages("dplyr")
library(dplyr)
filter(데이터, 조건문)
ex) 실린더 개수가 4기통인 자동차만 추출
filter(mtcars, cyl == 4)
select(데이터, 변수명1, 변수명2, ...)
ex) 변속기와 기어 데이터만 추출하고 head()를 활용해 데이터 앞부분 값 확인
head(select(mtcars, am, gear))
arrange(데이터, 변수명1, 변수명2, ...) -> 오름차순정렬
arragne(데이터, 변수명1, 변수명2, ..., desc(변수명)) -> 내림차순정렬
ex) 무게 기준으로 오름차순 정렬한 후 head()함수로 상위 데이터 출력
head(arrange(mtcars, wt))
mutate(데이터, 추가할 변수 이름 = 조건1, 조건2, ...)
distinct(데이터, 변수명)
summarise(데이터, 요약할 변수명 = 기술통계 함수)
group_by(데이터, 변수명)
sample_n(데이터, 샘플 추출할 개수)
sample_frac(데이터, 샘플 추출할 비율)
데이터 세트 %>% 조건
계산 %>% 데이터 세트
05-2. 데이터 가공하기
데이터를 정렬하고 병합하는 일련의 과정을 모두 데이터 가공이라고 통칭한다.
데이터 가공의 4단계
데이터 결합
2개 이상의 테이블을 결합하여 하나의 테이블로 만드는 과정
bind_rows(테이블명, 테이블명)
left_join(테이블1, 테이블2, by ="변수명")
inner_join(테이블1, 테이블2, by ="변수명")
full_join(테이블1, 테이블2, by ="변수명")
확인문제 2번 풀어보기
05-3 데이터 구조 변형하기
동일한 데이터가 있더라도 목적에 따라 분석 기준이 달라지며, 그에 따라 데이터 구조를 변형해야 할 때가 있다. 이를 '데이터 재구조화'라고 한다.
melt(데이터, id.vars = "기준 열", measure.vars = "변환 열")
# 데이터프레임 형식으로 반환
dcast(데이터, 기준 열 ~ 반환 열)
acast(데이터, 기준 열 ~ 반환 열 ~ 분리 기준 열)
확인문제 4번 풀어보기