我有一个非常大的数据框,有数百万行。数据框如下所示:
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。
是否有任何方法可以索引数据框?
答案 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
您可以通过引用(而不是按值)执行操作,并且开销极小。