77

我想将数据保存到.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.csvfile_2.csv有一堆行和列。

如何使用 csv 文件和值创建这种类型的 RData?

4

3 回答 3

95

或者,当您想要保存单个 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 的答案。

于 2013-11-14T01:08:57.570 回答
84

有三种方法可以从 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")
于 2013-11-14T00:53:18.213 回答
0

如果您需要,只需添加一个附加功能。您可以在命名位置中包含变量,例如日期标识符

date <- yyyymmdd
save(city, file=paste0("c:\\myuser\\somelocation\\",date,"_RData.Data")

这是你可以随时检查它的运行时间

于 2019-03-18T15:36:41.083 回答