在一个充满零的矩阵中的一个 - R.

时间:2015-12-18 11:47:10

标签: r

我是编程新手,我想弄清楚如何制作一个全零的矩阵并插入一个随机的? 我寻求帮助,但我只能找到用0和1创建随机矩阵的代码,但我只想在矩阵中的随机位置出现“一”。

我在这里看过例如, http://www.r-bloggers.com/making-matrices-with-zeros-and-ones/

set.seed(1)
mm <- matrix(0, 10, 5)
apply(mm, c(1, 2), function(x) sample(c(0, 1), 1))

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

1 个答案:

答案 0 :(得分:7)

创建全零矩阵很容易

X <- matrix(0, 10, 10)

现在注意到R中的矩阵存储为具有附加维度

的向量
> str(X)
 num [1:10, 1:10] 0 0 0 0 0 0 0 0 0 0 ...

所以如果你想在随机位置插入1,而不是在长度为N * M的向量中选择一个随机位置,并用值

替换它
X[sample(10*10, 1)] <- 1