在单个 RDS 文件中保存多个变量

Posted

技术标签:

【中文标题】在单个 RDS 文件中保存多个变量【英文标题】:Saving several variables in a single RDS file 【发布时间】:2019-02-13 04:43:42 【问题描述】:

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

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

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

我也试过了:

save(variables, "file.RData")

没有成功

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

我有几个大数据表,想将它们全部保存到一个文件中,然后加载它们。为此目的的选择是什么? 您可以将数据表放入列表中,并使用 saveRDS 保存。我用一个例子更新了我的答案。

以上是关于在单个 RDS 文件中保存多个变量的主要内容,如果未能解决你的问题,请参考以下文章

将多个变量存储到单个文件中

AWS DMS - 如何将 RDS 表数据写入单个 S3 目标文件?

在 Matlab 中自动生成变量名并保存到文件

如何在单个 CSV 文件中保存多个列表?

在单个文件中保存并打开多个DiagramControls

oracle sql (toad) - 执行多个查询,保存到单个 excel 文件