1 dplyr을 이용한 데이터 핸들링

1.1 dplyr의 설치 및 로딩

# install.packages("dplyr")
library(dplyr)

1.2 dplyr 패키지의 함수

dplyr 함수
함수명 내용 기본 함수
filter 행 추출 subset()
select 열 추출 data[, c("V1", "V2")]
mutate 변수(열) 추가 transform()
arrange 정렬 order(), sort()
rename 변수명 정정 names(df) <-
distinct unique 행 추출 unique()
summarise 집계 aggregate()
sample_n 랜덤샘플링 sample()
sample_frac
group_by 그룹별 집계
%>% 파이프 연산자
tbl_df 데이터프레임의 변환
as_data_frame 데이터프레임의 변환 as.data.frame()

1.3 예제 데이터 (flights): New York flights data

# install.packages("nycflights13"); 
library(nycflights13) # 실습용 데이터 로드
  • 2013년 미국 New York에서 출발하는 항공기의 이착륙 정보를 기록한 데이터프레임
  • 레코드 수 : 336,776 / 변수: 19개 변수

    Variables
    변수명 설명
    year,month,day 출발시간(년,월,일)
    dep_time,arr_time 실제 출발/도착시간(현지시간)
    sched_dep_time,sched_arr_time 예정된 출발/도착시간(현지시간)
    dep_delay,arr_delay 출발/도착지연 시간(분)
    hour,minute 예정된 출발/도착시간을 시간과 분으로 분할
    carrier 항공사(기호)
    tailnum 항공기 꼬리번호
    flight 항공편 번호
    origin,dest 출발지/도착지 공항이름
    air_time 여행시간
    distance 여행거리
    time_hour 예정 출발시간(날짜포맷)
  • Preview

    kable(head(flights))
    year month day dep_time sched_dep_time dep_delay arr_time sched_arr_time arr_delay carrier flight tailnum origin dest air_time distance hour minute time_hour
    2013 1 1 517 515 2 830 819 11 UA 1545 N14228 EWR IAH 227 1400 5 15 2013-01-01 05:00:00
    2013 1 1 533 529 4 850 830 20 UA 1714 N24211 LGA IAH 227 1416 5 29 2013-01-01 05:00:00
    2013 1 1 542 540 2 923 850 33 AA 1141 N619AA JFK MIA 160 1089 5 40 2013-01-01 05:00:00
    2013 1 1 544 545 -1 1004 1022 -18 B6 725 N804JB JFK BQN 183 1576 5 45 2013-01-01 05:00:00
    2013 1 1 554 600 -6 812 837 -25 DL 461 N668DN LGA ATL 116 762 6 0 2013-01-01 06:00:00
    2013 1 1 554 558 -4 740 728 12 UA 1696 N39463 EWR ORD 150 719 5 58 2013-01-01 05:00:00
  1. filter : 데이터 프레임에서 조건에 따른 레코드(row) 추출
    • AND: ‘,’ 또는 ‘&’
    • OR: ‘|’
    # 1월 1일 데이터 추출
    filter(flights, month == 1, day == 1)
    # equivalent to base operation:
    #   flights[flights$month == 1 & flights$day == 1, ]
    # 1월 혹은 2월 데이터 추출
    filter(flights, month == 1 | month == 2)