1
下面的代码为每个等于1的矩阵元素分配一个0到1之间的随机值。我的实际矩阵非常大,下面的代码需要很长时间才能运行。我怎样才能让它更快。请注意,每个是1单元应该得到0之间的随机值设为1。我不希望所有的细胞得到一个相同的值R矢量化,用于在矩阵上运行的循环
#convert black pixels to a random color between 0 to 1
mat1=matrix(c(1,1,0,0.5,1,0.4),nrow=2)
collection=c()
value=0
mat1
mat1==1
for (counter1 in (1:nrow(mat1)))
{
for (counter2 in (1:ncol(mat1)))
{
if(mat1[counter1,counter2]==1){value=runif(1,0,1);mat1[counter1,counter2]=value;collection=c(collection,value)}
}
}
mat1