楼主: jiachunyang1988
31823 56

[问答] 重复运行一个r程序多次 [推广有奖]

11
jiachunyang1988 发表于 2014-12-1 20:50:39
qoiqpwqr 发表于 2014-12-1 20:41
你可能没明白我的意思,我主要是做一个模型的参数估计,现在我的程序运行一次的得到的参数估计值和真实的值有点差别,我想运行30次,求其30次的参数平均值,看看其与真实值的差别。主要就是循环30次

12
jiachunyang1988 发表于 2014-12-1 21:00:31
曲散人终 发表于 2014-12-1 20:50
可以用
setwd("yourfiledic")
for(i in 1:30)
我不是很懂你的意思,我没用过这个命令,能讲解的清楚点吗?

13
jiachunyang1988 发表于 2014-12-1 21:02:06
淘宝网橙迷橙橙 发表于 2014-12-1 20:47
replicate函数
replicate(n, expr, simplify = "array")
replicate函数的具体用法是什么呢?n代表次数?expr代表什么呢。。。。

14
jiachunyang1988 发表于 2014-12-1 21:02:09
淘宝网橙迷橙橙 发表于 2014-12-1 20:47
replicate函数
replicate(n, expr, simplify = "array")
replicate函数的具体用法是什么呢?n代表次数?expr代表什么呢。。。。

15
jiachunyang1988 发表于 2014-12-1 21:12:52
曲散人终 发表于 2014-12-1 20:50
可以用
setwd("yourfiledic")
for(i in 1:30)
能具体解释下吗?看的不是很懂

16
qoiqpwqr 发表于 2014-12-1 21:13:39
假设你有5个参数

  1. out <- matrix(NA, nrow=30, ncol=5)
  2. for (i in 1:30) {
  3.   ...
  4.   est <- 你估计出的参数值
  5.   out[i, ] <- est
  6. }
复制代码

17
jiachunyang1988 发表于 2014-12-1 21:13:47
淘宝网橙迷橙橙 发表于 2014-12-1 20:47
replicate函数
replicate(n, expr, simplify = "array")
看的不是很明白,括号你的字母代表什么呢?

18
曲散人终 发表于 2014-12-1 22:05:22
setwd()设置工作目录,你可以用getwd()来查看当前工作目录,然后setwd()到你r程序所在目录,接着用这个循环:
matrix(30,30,1)->x
for(k in 1:30)
{
source("youfile.r")$value->x[k,1]
}
x就是你的所有结果了,不懂还可以再问,大家共同进步

19
淘宝网橙迷橙橙 发表于 2014-12-2 08:28:28
jiachunyang1988 发表于 2014-12-1 21:13
看的不是很明白,括号你的字母代表什么呢?
以生成服从标准正态分布的3个随机数,并重复这一过程5次为例:

> replicate(5, rnorm(3))
           [,1]       [,2]       [,3]       [,4]       [,5]
[1,] -0.2098800 -0.2891009 -1.5106925 -0.2941538  0.1072428
[2,]  0.1974659 -1.4352968  1.9620301 -0.5745457 -0.6394548
[3,] -0.3012112  0.5387016 -0.6761314 -0.4704064  0.2069635

20
jiachunyang1988 发表于 2014-12-2 15:38:37
淘宝网橙迷橙橙 发表于 2014-12-2 08:28
以生成服从标准正态分布的3个随机数,并重复这一过程5次为例:

> replicate(5, rnorm(3))
这个我晓得,但是我要运行的是整个程序,比如完整的程序为A,我想重复运行,并且保存每一次运行结果。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 08:56