在做 Shiny 开发时,有些数据太大,非常影响加载数据,这里提供了一种 lazyloading 策略,可以值得一试。
X = matrix(1, nrow = 1000, ncol = 1000)
Y = list(X = X)
e=new.env(parent=emptyenv())
e$X = X
e$Y = Y
tools:::makeLazyLoadDB(e, filebase = path.expand("~/Downloads/lazytest"))
rm(list = ls())
lazyLoad(path.expand("~/Downloads/lazytest"))关于参考内容中还提到 delayedAssign 可以实现类似的结果,但没有尝试。