【发布时间】:2014-09-27 00:34:29
【问题描述】:
我需要模拟一些数据,我想有一个内置所有功能的函数,所以我只需要运行
simulate(scenario="xxx")
此函数将指定场景的所有模拟数据集存储在名为 simdat 的列表中。在函数中,我想重命名该列表“simdat.xxx”并将其保存为“simdat_xxx.RData”,以便稍后我可以加载此文件并访问列表 simdat.xxx。我需要该列表有一个名称,专门指它是哪个批次,因为我正在处理很多批次,我可能想同时加载几个。
有没有办法在函数中命名并使用它来命名对象?我一遍又一遍地搜索,找不到这样做的方法。无奈之下,我只好这样做:在函数内部,
(a) 使用 paste 编写一个临时脚本,如下所示
temp.fn <- function(simdat){
simdat.xxx <- simdat
save(simdat.xxx,file="simdat_xxx.RData")
}
(b) 使用 writeLines 将其写入 .R 文件
(c) 源文件
(d) 运行它
这对我来说真的有点矫枉过正。有没有更好的方法来做到这一点?
非常感谢您的帮助!
董里
【问题讨论】:
-
你可以考虑
saveRDS()/readRDS()这对;您只需将对象分配给您在读回时喜欢的任何名称(例如,基于 Rdata 文件名)。 -
@baptiste - 哇!也谢谢你。真的很感激!
-
我要去
saveRDS()。它干净多了。我想知道为什么我以前没有考虑过寻找另一个保存选项。我想最难知道的是你不知道的东西。