[英]How to save data file into .RData?
我想將數據保存到.RData
文件中。
例如,我想將兩個 csv 文件和一些信息保存到1.RData
。
在這里,我有兩個 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
有一堆行和列。
如何使用 csv 文件和值創建這種類型的 RData?
或者,當您想要保存單個 R 對象時,我建議使用saveRDS
。
您可以使用saveRDS
保存 R 對象,然后使用saveRDS
將它們加載到具有新變量名的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 的答案。
有三種方法可以從 R 會話中保存對象:
save.image()
函數將保存當前在 R 會話中的所有對象:
save.image(file="1.RData")
然后可以使用load()
函數將這些對象加載回新的 R 會話:
load(file="1.RData")
如果你想保存一些但不是所有的對象,你可以使用save()
函數:
save(city, country, file="1.RData")
同樣,這些可以使用load()
函數重新加載到另一個 R 會話中:
load(file="1.RData")
如果要保存單個對象,可以使用saveRDS()
函數:
saveRDS(city, file="city.rds")
saveRDS(country, file="country.rds")
您可以使用readRDS()
函數將這些加載到 R 會話中,但您需要將結果分配給所需的變量:
city <- readRDS("city.rds")
country <- readRDS("country.rds")
但這也意味着您可以根據需要為這些對象提供新的變量名稱(即,如果這些變量已存在於您的新 R 會話中但包含不同的對象):
city_list <- readRDS("city.rds")
country_vector <- readRDS("country.rds")
只是在您需要時添加附加功能。 您可以在命名位置中包含一個變量,例如日期標識符
date <- yyyymmdd
save(city, file=paste0("c:\\myuser\\somelocation\\",date,"_RData.Data")
這是你可以隨時檢查它何時運行
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.