R - 仅使用一些data.table键

时间:2014-05-05 13:04:26

标签: r data.table

我有一个data.table:

           time type   price       size
  1: 1396527597  ASK 436.000  5.4194370
  2: 1396527597  ASK 436.003  0.6464547
  3: 1396527597  ASK 436.004  0.2400000
  4: 1396527597  ASK 436.999  0.1000000
  5: 1396527597  ASK 437.000 10.9000000
 ---                                   
8843660: 1396544914  BID 445.600  0.0194000
8843661: 1396544914  BID 446.608  0.0712000
8843662: 1396544914  BID 446.608  0.0712000
8843663: 1396544914  BID 446.659  0.0500000
8843664: 1396544914  BID 446.659  0.0500000

键入如下:

 NAME         NROW      MB COLS                        KEY            
[1,] result  8,843,664 237 time,type,price,size        time,type,price

因此,如果我想快速搜索某些特定值,我需要提供三个密钥。

说,我想找到所有值,其中type = BID和price = 449.1?

写这个:

result[J("BID", 449.1)]

当然以错误结束。

我的问题是,当表有三个键时,只按两个键搜索的sytax是什么?删除未使用的密钥不是一种选择。

1 个答案:

答案 0 :(得分:3)

如果其他两个键只有一个值,则可以传递第一个键的所有值:

result[J(unique(time), "BID", 449.1)]

如果您有其他键的更多值,请查看使用值的笛卡尔乘积作为键的CJ()