2013-12-19 44 views
0

如何隨機將值添加到矩陣?將值隨機添加到矩陣

說我有:

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」填充值

回答

2

你可以使用?sample隨機索引你的矩陣:

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

謝謝,這個工程很好 – user3067923