`data.table`二级索引是否有类型限制?

时间:2017-07-31 00:00:08

标签: r types data.table

如果在数字向量上设置了data.table二级索引,则似乎不允许使用on =语法对行进行子集化。但是,我在文档中看不到任何表明只有字符列才能成为二级索引的内容。 on =语法是否仅限于字符列?

library(data.table)
dt <- data.table(A = 1:10, B = letters[1:10])
setindex(dt, A, B)
dt[on = "B", "c"]
dt[on = "A", 3]

1 个答案:

答案 0 :(得分:4)

?data.table

  

i

     

characterlistdata.frame输入到i的内容使用data.table在内部转换为as.data.table

结果,使用密钥或https://developer.android.com/training/constraint-layout/index.html完成了连接。

在&#34;密钥和快速二进制搜索&#34;中注明了跳过.()字符列的选项。小插曲,vignette("datatable-keys-fast-subset")

  

在字符类型的单列键上,您可以删除.()表示法并在子集化时直接使用这些值,例如在data.frames上使用行名称的子集。