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

我想保存数据到一个 .RData文件。

例如,我想保存到 1.RData与两个 csv 文件和一些信息。

这里,我有两份 CSV 档案

1) file_1.csv contains object city[[1]]
2) file_2.csv contains object city[[2]]

此外,还可以如下保存其他价值观、国家和人口。 因此,我想我需要首先从两个 csv 文件中将对象设置为“ city”。

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?

158371 次浏览

有三种方法可以从 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()函数:

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")

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

只是添加一个额外的功能,如果您需要它。可以在指定位置中包含变量,例如日期标识符

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

这是你可以随时检查它什么时候运行