【问题标题】:How to save .RData directly in different object? [duplicate]如何将 .RData 直接保存在不同的对象中? [复制]
【发布时间】:2019-04-16 16:17:55
【问题描述】:

在一个循环中,我想加载名称为 g406、g407、g408... 的数据,但我想将这些数据直接写入名为 406、407、408 的对象中。

 406 <- load("\g406.RData")

在对象 406 中保存字符串“\g406.RData”。如何在没有任何其他代码行的情况下将 g406.RData 保存在对象 406 中,以便在索引为 406、407、408 的循环中使用它。 ...或者,我怎样才能保存一个以数字命名的 R 对象?

【问题讨论】:

  • load 不允许这样做,因为您可以将许多对象存储在 Rdata 文件中。如果您只有一个对象,rds 文件会更好。您确定在您的情况下每个 Rdata 文件只有一个对象吗? R中的变量名也不能是纯数字的。您最好将项目存储在某种命名列表中。

标签: r


【解决方案1】:

你可以使用assign()函数

rdata <- load("\g406.RData")
assign("406", get(rdata))

【讨论】:

  • 好吧,load() 实际上并没有返回它加载的对象。它返回它加载的对象的名称。但即便如此,当你像`400` 这样使用这个非标准名称时,你也必须始终转义它,这样使用起来会很不愉快。
  • 已使用get() 修复。感谢您指出。
【解决方案2】:

经过长时间的搜索,我发现newname &lt;- get(load('saved.file.rda')) 也可以将其另存为不同的对象。

【讨论】:

  • 好吧,它把它复制到一个新对象上。原始值,无论它在 rdata 文件中调用什么,仍将在您的全局环境中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-18
  • 2013-03-19
  • 2022-06-10
  • 1970-01-01
  • 1970-01-01
  • 2020-10-16
  • 2011-11-09
相关资源
最近更新 更多