【发布时间】:2016-02-16 09:25:05
【问题描述】:
我已阅读文档 vignette("datatable-intro") 和一些关于该主题的在线资源,例如 this。
但是我仍然很难看到使用 data.table 的 setkey 的性能提升(尽管我发现它比基本 [ 和 dplyr::filter 快得多,即使没有密钥集)。
任何想法为什么?我的例子是否很小/很容易看到性能提升?还是我做错了什么?
我期待使用密钥的 dtk 更快。
library(data.table)
library(microbenchmark)
df = data.frame(l = letters, n = 1:26)
df = do.call(rbind, replicate(1e4, df, FALSE))
dfdt = dfdtk = data.table(df)
setkey(dfdtk, l)
mb = microbenchmark(times = 10, unit = "s",
base = df[df$l == "a",],
dt = dfdt[l == "a"],
dtl = dfdt[list("a")],
dtk = dfdtk[list("a")]
)
plot(mb)
【问题讨论】:
标签: r performance data.table subset