Цепочки выражений data.table

Работа с данными с помощью data.table в R

Matt Dowle, Arun Srinivasan

Instructors, DataCamp

Цепочки выражений

Выражения data.table можно объединять в цепочки: x[...][...][...]

step_1 <- batrips[duration > 3600]
step_2 <- step_1[duration > 3600][order(duration)]
step_2[1:3]
# Same as
batrips[duration > 3600]

batrips[duration > 3600][order(duration)]
batrips[duration > 3600][order(duration)][1:3]
trip_id duration          
 295912 3601     
 347471 3602     
 536050 3602
Работа с данными с помощью data.table в R

Цепочки выражений

# Three start stations with the lowest mean duration
step_1 <- batrips[, .(mn_dur = mean(duration)), by = "start_station"]
step_2 <- step_1[order(mn_dur)]
step_2[1:3]
# Three start stations with the lowest mean duration
batrips[, .(mn_dur = mean(duration)),  
        by = "start_station"][order(mn_dur)][1:3]
                                 start_station   mn_dur
                                 2nd at Folsom 551.0807
 Temporary Transbay Terminal (Howard at Beale) 655.8563
                             2nd at South Park 697.7034
Работа с данными с помощью data.table в R

uniqueN()

  • uniqueN() — вспомогательная функция, возвращающая количество уникальных значений во входном объекте
  • Принимает векторы, data.frames и data.tables.
id <- c(1, 2, 2, 1)
uniqueN(id)
2
x <- data.table(id, val = 1:4)
id val
 1   1
 2   2
 2   3
 1   4
uniqueN(x)
4
uniqueN(x, by = "id")
2
Работа с данными с помощью data.table в R

uniqueN() вместе с by

Подсчитайте общее количество уникальных идентификаторов велосипедов за каждый месяц

ans <- batrips[, uniqueN(bike_id), by = month(start_date)]
head(ans, 3)
 month    V1   ## <~~ auto naming of cols
     1   605
     2   608
     3   631
Работа с данными с помощью data.table в R

Давайте потренируемся!

Работа с данными с помощью data.table в R

Preparing Video For Download...