【发布时间】:2019-02-26 03:35:44
【问题描述】:
我有一个很长的矩阵,我想用rnorm(1) 填充它,但这需要很长时间(与下面的示例不同)。有没有其他方法,因为行数和列数总是相等但动态的。
my <- matrix(c(0), nrow= 3, ncol = 3)
for (i in 1:3){
for (j in 1:3){
my[i,j]<-rnorm(1)
}
}
【问题讨论】:
我有一个很长的矩阵,我想用rnorm(1) 填充它,但这需要很长时间(与下面的示例不同)。有没有其他方法,因为行数和列数总是相等但动态的。
my <- matrix(c(0), nrow= 3, ncol = 3)
for (i in 1:3){
for (j in 1:3){
my[i,j]<-rnorm(1)
}
}
【问题讨论】:
为什么不这样做:
matrix(rnorm(500), ncol = 5)
【讨论】:
rnorm() 的数据,那么它的工作原理是一样的。
Vectorize() 对其进行矢量化,这种方法将起作用。但是Vectorize() 只是循环隐藏——如果您的函数很慢,则无法根据需要多次调用它。将数字放入矩阵中很快。大量调用你的函数是很慢的。