首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列和约束的随机二进制矩阵

列和约束的随机二进制矩阵
EN

Stack Overflow用户
提问于 2017-08-09 14:43:24
回答 1查看 901关注 0票数 3

我的目标是创造:

  • 带有01条目的随机填充矩阵。在这种情况下,矩阵是4x24
  • 每个4行的行和正好是6
  • 每个24列的列和正好是1

调用所需的矩阵M

另一种看待M的方法

  • 确切地说,24条目等于1
  • 没有一个列有多个1条目。

进度:

每一行都有带有一个6条目的1点。其余的是零,矩阵是稀疏的。对于4行,这意味着M可以由存储1条目位置的索引矩阵唯一确定。调用这个索引矩阵indexM

我在indexM中填充了1:24抽样的数字,没有替换:

代码语言:javascript
复制
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转换为所需的稀疏矩阵?

我在sparseMatrix库中找到了Matrix,但是它需要一个向量或行索引以及另一个列索引向量,这不是我所拥有的。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-09 15:19:06

我在sparseMatrix库中找到了Matrix,但是它需要一个向量或行索引以及另一个列索引向量,这不是我所拥有的。

这些限制强加于..。

  • 行索引是rep(1:4, 6)
  • col指数为1:24

行指数和总指数之间的匹配是随机的。我们可以..。

代码语言:javascript
复制
library(Matrix)

# fix rows, jumble cols
sparseMatrix(rep(1:4, each=6), sample(1:24))

# fix cols, jumble rows
sparseMatrix(sample(rep(1:4, each=6)), 1:24)

# jumbl'm all
sparseMatrix(sample(rep(1:4, each=6)), sample(1:24))

其中任何一个都会返回类似的东西

代码语言:javascript
复制
4 x 24 sparse Matrix of class "ngCMatrix"

[1,] . . . . | | . . | . . . | | . | . . . . . . . .
[2,] . | | . . . | . . | . . . . . . . . | . . . | .
[3,] . . . | . . . | . . | | . . . . | . . . | . . .
[4,] | . . . . . . . . . . . . . | . . | . | . | . |
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45593877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档