这两个R例程是等价的吗?

时间:2018-06-15 14:06:47

标签: r

以下两个例程之间是否有任何真正的区别(除了时差和绘制不同的样本)?

方法1

ptm <- proc.time() # start timer 

pop <- array(dim = c(2, 5, 2)) # generate array of specified dimensions

for (i in 1:2) {
  x <- function() {
    sample(1:10, size = 5, replace = TRUE) # sample with replacement
  }
  pop[,, i] <- replicate(2, x())
}

proc.time() - ptm # end timer

user  system elapsed 
0.008   0.001   0.010 

方法2

ptm <- proc.time()

pop <- array(dim = c(2, 5, 2))

x <- function() {
  sample(1:10, size = 5, replace = TRUE)
}

for (i in 1:2) {
  pop[,, i] <- replicate(2, x())
}

proc.time() - ptm

user  system elapsed 
0.008   0.001   0.007 

方法2比方法1快一点。就较大的样本空间而言,这可能很重要。但是,我认为这两种方法之间并没有真正的区别,对我而言,它们是“等同的”。

我在这个断言中是否正确,还是还有更多内容?

0 个答案:

没有答案