- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一个棘手的问题,因为我无法提供可重复的示例,但我希望其他人可能有处理此问题的经验。
本质上,我有一个函数可以从数据库中提取大量数据,清理并减小大小并循环遍历一些参数以生成一系列 lm 模型对象、参数值和其他引用值。这被编译成一个复杂的列表结构,总共约 10mb。
然后应该将其保存为 AWS s3 上的 RDS 文件,在生产环境中检索它以构建预测。
例如
db.connection <- db.connection.object
build_model_list <- function(db.connection) {
clean_and_build_models <- function(db.connection, other.parameters) {
get_db_data <- function(db.connection, some.parameters) {# Retrieve db data} ## Externally defined
db.data <- get_db_data()
build_models <- function(db.data, some.parameters) ## Externally defined
clean_data <- function(db.data, some.parameters) {# Cleans and filters data based on parameters} ## Externally defined
clean.data <- clean_data()
lm_model <- function(clean.data) {# Builds lm model based on clean.data} ## Externally defined
lm.model <- lm_model()
return(list(lm.model, other.parameters))} ## Externally defined
looped.model.object <- llply(some.parameters, clean_and_build_models)
return(looped.model.object)}
model.list <- build_model_list()
saveRDS(model.list, "~/a_place/model_list.RDS")
最佳答案
这需要一些挖掘,但我最终确实找到了解决方案。
事实证明,罪魁祸首是 lm 模型对象。基于这篇非常有用的文章:
https://blogs.oracle.com/R/entry/is_the_size_of_your
事实证明,lm.object$terms 组件包括一个环境组件,该组件引用构建模型时存在于全局环境中的对象。在某些情况下,当您保存RDS R 时,会尝试将环境对象绘制到保存对象中。
由于我在全局环境中有大约 0.5GB 的空间和大约 200 lm 模型对象的列表数组,这导致 RDS 对象急剧膨胀,因为它实际上试图压缩大约 100GB 的数据。
测试这是否是导致问题的原因。执行以下代码:
as.matrix(lapply(lm.object, function(x) length(serialize(x,NULL))))
rm(list=ls(envir = attr(lm.object$terms, ".Environment")), envir = attr(lm.object$terms, ".Environment"))
关于r - saveRDS 膨胀对象的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42230920/
我在重新保存对象时表现出了 saveRDS 的奇怪行为。这是一个可重现的示例: df <- data.frame(a = c(1,2), b = c(3,4)) saveRDS(df, "test.r
这是一个棘手的问题,因为我无法提供可重复的示例,但我希望其他人可能有处理此问题的经验。 本质上,我有一个函数可以从数据库中提取大量数据,清理并减小大小并循环遍历一些参数以生成一系列 lm 模型对象、参
我正在构建一个 R 包并使用 data-raw和 data存储预定义的库 RxODE楷模。这非常有效。 然而,由此产生的.rda文件每代都在变化。某些模型包含 R 环境,并且序列化似乎包含“创建时间”
我正在尝试在循环中使用 saveRDS,我有一个名为 XDATA 的列表,其中包含 21 个矩阵和一个名为 names 的列表,其中包含我想将这些矩阵保存在其中的 21 个名称。这是我尝试过的两种解决
我的计算集群最近更新到 R 版本 R 3.6.0 并删除了旧版本的 R。我一直在 R 3.4.0 中运行我的项目。我认为这没问题,运行了一些代码,并将 R 3.6.0 session 期间的输出保存为
saveRDS 和 readRDS 是否相应地保存和恢复所有对象的属性,包括由应用程序创建的属性(通过 attr)?我尝试使用这种方法而不是保存和加载,试图找到下面链接的问题的解决方法。然而,情况似乎
我目前有一个非常大的数组(500 个元素,每个元素都有一个 1000 x 20 的矩阵)。我一直在使用 saveRDS 来保存对象。然而,这样做总是需要很长时间。我想知道 save() 是否更快,或者
我经常写saveRDS()大量数据修改后的声明,这促使我立即写 readRDS()将来,可重现编码访问 .RDS 文件以更快地加载到 R .我的手动生成过程 readRDS()来自输入的语句 save
通常我更喜欢使用 saveRDS 保存我的 R 对象这样我以后可以使用 df= readRDS(...) 将它们重新分配给特定变量.有时我想在 stata 中做一些事情。那么有没有办法打开用saveR
(这是我第一次尝试创建可重现的示例问题 - 请随时评论以更好的方式来描述或说明问题!) 主要问题声明 我正在使用 foreach 并行训练约 25,000 个模型的%dopar%和caretList
我是一名优秀的程序员,十分优秀!