有可能吗?通过在RStudio中进行分析,我发现使用表的密钥进行简单的行选择操作会分配一个不合适的内存量(在不同的密钥上聚合数千个切片)。
library(data.table)
foo = data.table(name=letters, v1=rnorm(1:10000), v2=rnorm(1:10000), v3=rnorm(1:10000))
setkey(foo, name)
for(i in 1:10000) slice = foo[letters[i%%26]]
描述for循环并看到它分配500mb。