我是编程新手,我想弄清楚如何制作一个全零的矩阵并插入一个随机的? 我寻求帮助,但我只能找到用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
答案 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