将值随机添加到矩阵

问题描述:

如何随机将值添加到矩阵?将值随机添加到矩阵

说我有:

mat <- matrix(0, 10, 10) 
v = 5 

我怎么能随意v一次添加到垫,2个位置?输出应该是这样的一个迭代后:

out 
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] 
[1,] 0 0 0 0 0 0 0 0 0  0 
[2,] 5 0 0 0 0 0 0 0 0  0 
[3,] 0 0 0 0 0 0 0 0 0  0 
[4,] 0 0 0 0 5 0 0 0 0  0 
[5,] 0 0 0 0 0 0 0 0 0  0 
[6,] 0 0 0 0 0 0 0 0 0  0 
[7,] 0 0 0 0 0 0 0 0 0  0 
[8,] 0 0 0 0 0 0 0 0 0  0 
[9,] 0 0 0 0 0 0 0 0 0  0 
[10,] 0 0 0 0 0 0 0 0 0  0 

另一次迭代后,垫应该有2个位置在“V”填充值

你可以使用?sample随机索引你的矩阵:

idx <- sample(length(mat), size=2) 
mat[idx] <- mat[idx] + v 
+0

谢谢,这个工程很好 – user3067923