如何在data.table包(r)中设置几列作为键?

Jia*_*wen -1 r data.table

setkey()可用于将列设置为数据表的键。但是现在我有三列:

A         B          C

1         2          3
1         2          4
1         2          5
Run Code Online (Sandbox Code Playgroud)

我想将ABC设置为关键。如何data.table打包?

raf*_*ira 5

三种简单的选择:

# 1
setkeyv(dt, c("A","B","C"))


# 2
keycols = c("A","B","C")
setkeyv(dt, keycols)


# 3, or you can setkey for the whole data.table
setkey(data)
Run Code Online (Sandbox Code Playgroud)

数据例如:

library(data.table)

dt <- data.table(A=c(1,1,1), B=c(2,2,2), C=c(3:5))
Run Code Online (Sandbox Code Playgroud)

  • 我尝试过,但是这里是错误:setkeyv(x,cols,verbose = verbose,physical = physical)中的错误:data.table中没有某些列:c(“ A”,“ B”,“ C”) (2认同)