将多个变量保存在一个RDS文件中

时间:2018-09-07 20:17:09

标签: r save datastore

我想将变量列表传递给saveRDS()来保存它们的值,但是它将保存它们的名称:

variables <- c("A", "B", "C")
saveRDS(variables, "file.R")

它保存单个向量“变量”。

我也尝试过:

save(variables, "file.RData")

没有成功

1 个答案:

答案 0 :(得分:2)

您需要使用list函数的save参数。 EG:

var1 = "foo"
var2 = 2
var3 = list(a="abc", z="xyz")
ls()
save(list=c("var1", "var2", "var3"), file="myvariables.RData")
rm(list=ls())
ls()

load("myvariables.RData")
ls()

请注意,saveRDS函数将创建一个.RDS文件,该文件用于保存单个R对象。 save函数创建一个.RData文件(与.RDA文件相同)。 .RData文件用于存储整个R工作区,或者R工作区中的任何名称都传递给list参数。

YiHui在这个主题上有一个不错的blogpost

如果您有多个数据表,并且需要将它们全部保存在一个R对象中,则可以使用saveRDS路由。例如:

datalist = list(mtcars = mtcars, pressure=pressure)
saveRDS(datalist, "twodatasets.RDS")
rm(list=ls())

datalist = readRDS("twodatasets.RDS")
datalist