날짜 혹은 시간을 다루는데 유용한 도구들이 있다. install.packages('lubridate') library(lubridate) lubridate 패키지를 열고 today() now() 이 책에서는 date/time을 만들 수 있는 방법이 3가지 있다고 소개한다. 첫 번째는 string으로 두 번째는 individual date-time으로 세 번째는 기존의 date/time object 우리는 보통 첫 번째, 두 번째를 사용하게 될 것이다. ymd("2017-01-31") mdy("January 31st, 2017") dmy("31-Jan-2017") ymd(20170131) ymd_hms("2017-01-31 20:11:59") mdy_hm("01/31/2017 08:01") 이번엔 두 번째..
우리는 많은 data table을 가질 수 있고, 특정한 질문의 답을 하기 위해서 그것들을 결합할 수 있어야 한다. data table이 individual data인 경우가 아닌 관계형 데이터(relational data)일 때, 우리는 두 데이터 table을 합치는 방법을 알고 있어야 한다. library(tidyverse) library(nycflights13) print(airlines) print(airports) print(planes) print(weather) airlines 데이터는 항공사의 풀네임과 약식 이름을 제공해준다. airports 데이터는 faa airport code로 식별되는 각 공항들의 정보를 제공한다. planes 데이터는 tailnum으로 식별되는 각 항공기별 정보를 ..
1. tidyverse tidy data를 다루기 앞서 tidyverse 패키지를 열어보자. dplyr, ggplot2와 모든 tidyverse 내의 패키지들은 tidy data로 잘 작동하도록 설계됐다. 그렇다면 무엇을 tidy data라 하는가? Tidy data는 세 가지 기본 원칙을 따른다. 변수는 열로 정리되어야 합니다: 각 변수(예: 나이, 성별, 소득)는 데이터 집합의 열에 대응. 열은 변수의 유형에 따라 명확하게 정의되어야 한다. 관측치는 행으로 정리되어야 한다. 각 관측치(예: 개별 사람, 제품, 도시)는 데이터 집합의 행에 대응한다. 각 행은 고유한 식별자를 가지며, 다른 관측치와 구분될 수 있어야 한다. 측정값은 셀에 저장되어야 한다. 데이터 집합의 각 셀은 하나의 측정값을 포함해야 ..
1. tibble ? tibble은 dataframe이라고 할 수 있다. 데이터프레임을 여러 과정에서 유리하도록 수정한 것이다. 기존에 df에서 as_tibble()로 변환이 가능하다. library(tidyverse) as_tibble(iris) 그렇다면 tibble과 dataframe은 어떠한 것이 다른가? 살펴보도록 하겠다. 우선 tibble은 직전에 정의했던 변수로 새로운 변수를 정의하는 것이 가능하다. 이게 뭔 소린지 모르겠다면 예제 코드로 이해해 보자! tibble( x = 1:5, y = 1, z = x ^ 2 + y ) 이렇게 직전에 정의한 x, y를 이용하여 z변수를 정의할 수 있다는 말이다. 이게 data frame에서는 안되냐고? data.frame( x = 1:5, y = 1, z ..
exercise 5.7.1 1. prob 2 Which plane(tailnum) has the worst on-time record? tailnum_gr % group_by(tailnum) %>% summarise(arr_delay_mean = mean(arr_delay, na.rm =TRUE), count = n()) %>% arrange(desc(arr_delay_mean)) tailnum_gr tailnum 'N844MH'가 가장 안 좋은 기록을 가지고 있다는 것을 확인할 수 있다. 다른 접근 방법도 있다. flights %>% arrange(desc(arr_delay)) %>% select(tailnum, arr_delay) 2. prob 3 What time of day should you f..
tibble이란 tibble은 data frame이지만, tidyverse에서 더 잘 작동되도록 수정되었다. library(nycflights13) library(tidyverse) head(flights) int는 정수 dbl은 복소수 또는 실수 chr은 string vector, string dttm은 날짜-시간(날짜 + 시간) lgl은 논리, 논리벡터 fctr은 범주형 변수 date는 날짜 를 나타낸다. dplyr의 대표적인 함수 6개를 알아보자. filter() 값으로 관측값을 선택하는 함수. arrange() 행을 재정렬 select() 이름으로 변수를 선택 mutate() 새로운 변수 생성 summarise() 여러 값을 하나의 요약으로 축소 이러한 함수는 모두 각 함수의 범위를 전체 데이터 ..