3
我的目标是创建:随机二进制矩阵
- 与条目任
0
或1
随机填充矩阵。在这种特殊情况下,矩阵是4x24
。 4
行的每一行的行总和正好是6
。- 每个
24
列的列总和恰好1
呼叫所需的矩阵M
。
的看着M
另一种方式:
- 有等于
1
准确24
条目。 - 没有列有超过一个
1
条目。
进展:
上有一个1
进入每一行6
点。其余的都是零,矩阵很稀疏。对于4
行,这意味着M可以由索引的矩阵唯一确定,该索引存储1
条目的位置。调用这个指数矩阵indexM
。
我填充indexM
与不用更换采样的数字1:24
:
set.seed(30592)
colNum <- 24
rowSum <-6
numZeros <- colNum-rowSum
OneRow<-c(rep(1,rowSum),rep(0,numZeros))
indexM<-matrix(sample(1:24,replace=FALSE),
nrow=4,ncol=6,byrow=TRUE)
对于给定的种子,所述基质是:https://pastebin.com/8T21MiDv。
如何将indexM
转换为所需的稀疏矩阵?
我在Matrix
库中找到了sparseMatrix
,但它需要一个向量或行索引和另一个列索引向量,这不是我所拥有的。
谢谢。
'稀疏矩阵(REP(1:4,每= 6),样品(24))'似乎是它,相当直接从阅读' ?sparseMatrix' ..? – Frank
@这是'我'和'j'的曲子吗?如果你能在一个非常棒的答案中解释语法 – GFauxPas