load
и save
предназначены для сохранения нескольких объектов в одном файле.load
загружает все объекты из сохраненной среды, и результат не может быть назначен.Вместо этого вы в конечном итоге загружаете те же имена, которые были сохранены.
Для одного объекта saveRDS
и readRDS
более уместны.Они не сохраняют исходные имена сохраненных объектов, и выходные данные из readRDS
могут и должны быть назначены.Хорошей практикой является использование здесь расширения файла .rds
.
saveRDS(x_glm, "x_glm.rds")
mymodel = readRDS("x_glm.rds")
Если вам нужно безопаснее с load
и средой, сохраненной в файле rda
, вы можете создать новую среду,загрузить в эту среду, а затем извлекать объекты по одному в текущую среду, что-то вроде этого:
my_env = new.env()
load("x_glm.rda", envir = my_env)
ls(envir = my_env) # find the name of the object you want
my_object = my_env$name_of_loaded_object
Риск load
попадания в текущую среду состоит в том, что любые объекты, которые у вас естьс теми же именами, что и у объектов load
, ed будет перезаписан.