Create key on a data table
Sorts a data.table and marks it as sorted. The sorted columns are the key. The key can be any columns in any order. The columns are sorted in ascending order always.
setkey(x, ..., loc=parent.frame()) key(x) key(x) <- value
- An unquoted name of a data.table.
- The columns to sort by. Do not quote the column names. If ...is missing all the columns are used.
- A character vector of column names.
- The data.table must already exist in this frame, and it is sorted by reference in this frame. loc=.GlobalEnv is often useful within functions.
The sort is attempted with the very fast radix method in
sort.list. If that fails, the sort reverts to the default
order. That logic is repeated column by column.
If value is NULL, the key is removed.
- No value is returned. The data.table is modified by reference. If you require a copy, take a copy first. A working copy is currently taken internally.
DT = data.table(A=5:1,B=letters[5:1]) DT # before setkey(DT,B) # re-orders table and marks it sorted. DT # after tables() # KEY column reports the key'd columns key(DT) key(DT) = "A"
DT = data.table(A=5:1,B=letters[5:1]) DT # before setkey(DT,B) # re-orders table and marks it sorted. DT # after