我需要模拟一些数据,我希望有一个内置的所有功能,所以我只需要运行
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)运行它
这对我来说真的太过分了。有更好的方法吗?
非常感谢你的帮助!
庄
答案 0 :(得分:1)
试试这个,
simulate <- function(scenario="xxx"){
simdat <- replicate(4, rnorm(10), simplify=FALSE)
data_name <- paste("simdat", scenario, sep=".")
assign(data_name, simdat)
save(list = data_name, file = paste0("simdat_", scenario, ".Rdata"))
}