【发布时间】:2020-03-17 19:40:56
【问题描述】:
如果我生成一个模型列表列并希望将所有模型保存为 .rda 文件,我会遇到一些麻烦。
library(dplyr)
library(tidyr)
library(purrr)
mt_models <-
mtcars %>%
group_by(cyl) %>%
nest() %>%
mutate(
models = map(.x = data, .f = ~lm(mpg ~ wt, data = .x)),
file_name = paste("model", cyl, "cyl.rda", sep = "_")
)
# mt_models$models currently have no names
names(mt_models$models)
# so I've assigned names to the models so that save() will be handling named objects.
names(mt_models$models) <- paste("model", mt_models$cyl, "cyl", sep = "_")
walk2(
.x = mt_models$models,
.y = mt_models$file_name,
.f = ~save(.x, file = .y)
)
虽然我可以在我的目录中看到保存的对象,但我无法将保存的对象load 保存到我的环境中。
当我尝试加载时,该函数似乎运行成功,但没有任何反应,甚至没有错误,并且没有任何对象添加到我的环境中。
load("model_6_cyl.rda")
相比之下,如果我保存一个模型,它在我的环境中很容易查看并且很容易加载。
mt_model <- lm(mpg ~ wt, data = mtcars)
save(mt_model, file = "temp.rda")
load("temp.rda")
【问题讨论】:
-
可以指定
list =