r - 如何多次运行多元模拟并将每个结果保存在特定变量中?
问题描述
我正在尝试运行多元模拟 100 次,并希望将每次运行保存在一个新变量中并将其写入一个新的 csv 文件。我不知道如何循环这个。
我可以通过复制代码并手动命名变量来保存每次运行。这很乏味,我相信有更好的方法来实现这一点。
library(dmutate)
mu <- c(4.23, 3.01, 2.91)
stddev <- c(1.23, 0.92, 1.32)
corMat <- matrix(c(1, 0.78, 0.23,
0.78, 1, 0.27,
0.23, 0.27, 1),
ncol = 3)
covMat <- stddev %*% t(stddev) * corMat
sims1 <- rmvnorm(10000, mu = mu, covMat)
sims2 <- rmvnorm(10000, mu = mu, covMat)
sims3 <- rmvnorm(10000, mu = mu, covMat)
.
.
.
sims100 <- rmvnorm(10000, mu = mu, covMat)
write.csv(sims1, file = "Sims_out1.csv", row.names = FALSE)
write.csv(sims2, file = "Sims_out2.csv", row.names = FALSE)
write.csv(sims3, file = "Sims_out3.csv", row.names = FALSE)
我想循环它们并将它们保存为不同的变量并将它们写入不同的 csv 文件,而不必手动复制它们超过 100 次。
解决方案
看看你的例子,我会这样做。
for (i in 1:100) {
sims <- rmvnorm(10000, mu = mu, covMat)
write.csv(sims1, file = paste0("Sims_out",i,".csv"), row.names = FALSE)
}
基本上你想for循环一个模拟,然后把它写到一个新文件中。
推荐阅读
- azure - 在 Azure 中记录指标的表是什么
- mysql - 如何在 SQL 中选择所需的信息?
- angular - 同一项目不同的机器,只在新机器上出现错误
- java - 使用 AccessController.doPrivileged() 限制权限并不总是按预期工作
- swift - 如何在 Swift 中创建一个返回可解码类型的函数?
- c# - BulkWrite 操作可以用于多个集合吗?
- python - 如果 where 条件为空,Postgres 检索所有行
- android - Android popBackStack 显示片段未添加到后台堆栈
- javascript - 从 yr.no 获取 XML 天气数据
- c++ - 如何重新定义c++指针函数?