intro_r/doc/datatable_querying_j.org

2.4 KiB

Datatable package

Org document with R code

  rm(list = ls())

Select columns in "j"

This creates a vector

  dt_c <- flights[, arr_delay]
  head(dt_c)

To create a data.table, use the function "list" or dot "."

  dt_c1 <- flights[, list(arr_delay)]
  head(dt_c1)

The selection is wrapped in "list", thus, the columns can be renamed

  dt_c2 <- flights[, .(delay2arriv = arr_delay, dist = distance)]
  head(dt_c2)
  dt_c2a <- flights[, c("arr_delay", "distance")]
  head(dt_c2a)
  dt_c2b <- flights[, year:day]
  head(dt_c2b)

Building new colummns

  head(dt_c2b[, `:=`(time = year -1, # name = value,
                     pumpkin = month,
                     tomatoe = day +1)])

Renaming colummns

  setnames(dt_c2b,
           c("time", "pumpkin", "tomatoe"),# old names
           c("time_minus1", "pumpkin_month", "day_plus1")) # new names

  names(dt_c2b)
  setnames(dt_c2b, toupper) # new names
  names(dt_c2b)

Renaming colummns

  setnames(dt_c2b, tolower) # new names
  names(dt_c2b)
  dt_c2c <- flights[, -(year:day)]
  head(dt_c2c)

Select columns by patterns, e.g., selecting 5 lines form columns having "del" characters in the name:

  flights[1:5, names(flights) %like% "del", with = FALSE]