我正在寻找运行这个 for 循环,但它需要很长的时间(~20s)来执行。 x 和 y 是长度为 2000000 的预定义向量。
for(i in 1:2000000)
{
a <- runif(1)
b <- runif(1)
sqrtf <- sqrt(-log(b,10))
x[i] <- sqrtf*cos(a)
y[i] <- sqrtf*cos(b)
}
有什么技巧可以加快速度吗?
编辑:修复了 sqrtf
最佳答案
n <- 2e6
set.seed(101)
a <- runif(n)
b <- runif(n)
sqrtf <- sqrt(-log10(b))
x <- sqrtf*cos(a)
y <- sqrtf*cos(b)
关于r - 加速 R 中的 for 循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9455154/