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