Как сохранить файл данных в .RData?
Я хочу сохранить данные в файл .RData
.
Например, я хотел бы сохранить в 1.RData
два файла csv и некоторую информацию.
Здесь у меня есть два файла csv
1) file_1.csv contains object city[[1]]
2) file_2.csv contains object city[[2]]
и дополнительно сохранить другие значения, страну и население следующим образом.
Итак, мне кажется, мне нужно сделать объекты "город" из двух файлов csv в первую очередь.
Структура 1.RData может выглядеть так:
> data = load("1.RData")
> data
[1] "city" "country" "population"
> city
[[1]]
NEW YORK 1.1
SAN FRANCISCO 3.1
[[2]]
TEXAS 1.3
SEATTLE 1.4
> class(city)
[1] "list"
> country
[1] "east" "west" "north"
> class(country)
[1] "character"
> population
[1] 10 11 13 14
> class(population)
[1] "integer"
file_1.csv
и file_2.csv
имеют набор строк и столбцов.
Как я могу создать этот тип RData с файлами и значениями csv?
Ответы
Ответ 1
В качестве альтернативы, если вы хотите сохранить отдельные объекты R, я рекомендую использовать saveRDS
.
Вы можете сохранить объекты R с помощью saveRDS
, а затем загрузить их в R с новым именем переменной, используя readRDS
.
Пример:
# Save the city object
saveRDS(city, "city.rds")
# ...
# Load the city object as city
city <- readRDS("city.rds")
# Or with a different name
city2 <- readRDS("city.rds")
Но если вы хотите сохранить много/все свои объекты в своей рабочей области, используйте ответ Manetheran.
Ответ 2
Существует три способа сохранить объекты из сеанса R:
Сохранение всех объектов в сеансе R:
Функция save.image()
сохранит все объекты, которые в данный момент находятся в вашем сеансе R:
save.image(file="1.RData")
Затем эти объекты можно загрузить обратно в новый сеанс R с помощью функции load()
:
load(file="1.RData")
Сохранение некоторых объектов в сеансе R:
Если вы хотите сохранить некоторые, но не все объекты, вы можете использовать функцию save()
:
save(city, country, file="1.RData")
И снова, их можно перезагрузить в другой сеанс R с помощью функции load()
:
load(file="1.RData")
Сохранение одного объекта
Если вы хотите сохранить один объект, вы можете использовать функцию saveRDS()
:
saveRDS(city, file="city.rds")
saveRDS(country, file="country.rds")
Вы можете загрузить их в свой сеанс R с помощью функции readRDS()
, но вам нужно будет присвоить результат в нужную переменную:
city <- readRDS("city.rds")
country <- readRDS("country.rds")
Но это также означает, что при необходимости вы можете дать этим объектам новые имена переменных (т.е. если эти переменные уже существуют в вашем новом сеансе R, но содержат разные объекты):
city_list <- readRDS("city.rds")
country_vector <- readRDS("country.rds")
Ответ 3
Просто, чтобы добавить дополнительную функцию, если вам это нужно. Вы можете включить переменную в указанное место, например, идентификатор даты
date <- yyyymmdd
save(city, file=paste0("c:\\myuser\\somelocation\\",date,"_RData.Data")
Это всегда можно было проверить, когда он был запущен