如何将数据文件保存到.RData?

时间:2013-11-14 00:50:10

标签: r rdata

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

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

3 个答案:

答案 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会话中的对象:

保存R会话中的所有对象:

save.image()函数将保存当前R会话中的所有对象:

save.image(file="1.RData") 

然后可以使用load()函数将这些对象加载回新的R会话:

load(file="1.RData")

在R会话中保存一些对象:

如果您想保存一些但不是所有对象,可以使用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")

这是您始终可以检查其运行时间的方法