高效索引并从大型数据框中检索数据

时间:2016-02-15 21:26:41

标签: r dataframe

我有一个非常大的数据框,有数百万行。数据框如下所示:

id  value ......
111  1  
222  4
111  5
333  6
222  8
444  9
555  4
222  2
111  4

每次,我想要检索具有所有值的特定id。如果我只是使用

df[df$id == myid,]

这可能非常昂贵,因为数据框将扫描表中的所有ID。

是否有任何方法可以索引数据框?

1 个答案:

答案 0 :(得分:1)

data.table包旨在解决这种情况。

library(data.table)
dt <- as.data.table(df)
setkey(dt, id) # index the data.table by the id column

dt[myid] # extract the id==myid row

您可以通过引用(而不是按值)执行操作,并且开销极小。