我想将数据保存到.RData
文件中。
例如,我想用两个csv文件和一些信息保存到1.RData
。
在这里,我有两个csv文件
1) file_1.csv contains object city[[1]]
2) file_2.csv contains object city[[2]]
并另外保存其他值,国家和人口,如下所示。 所以,我想首先需要从两个csv文件中创建对象'city'。
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?
答案 0 :(得分:81)
或者,当您想要保存单个R对象时,我建议使用saveRDS
。
您可以使用saveRDS
保存R对象,然后使用readRDS
将其加载到具有新变量名称的R中。
示例:
# 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的答案。
答案 1 :(得分:51)
有三种方法可以保存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()
功能:
save(city, file="city.rds")
save(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")
答案 2 :(得分:0)
仅在需要时添加其他功能。您可以在命名位置中包含一个变量,例如日期标识符
date <- yyyymmdd
save(city, file=paste0("c:\\myuser\\somelocation\\",date,"_RData.Data")
这是您始终可以检查其运行时间的方法