随机向矩阵中添加一个值

时间:2013-12-19 19:06:46

标签: r random

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

说我有:

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

如何随机添加v到mat,一次添加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

在另一次迭代之后,mat应该还有2个位置填充'v'

中的值

1 个答案:

答案 0 :(得分:2)

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

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