gpt4 book ai didi

r - 创建一个由 0 和 1 组成的矩阵,这样每一行只有一个 1,每列至少有两个 1

转载 作者:行者123 更新时间:2023-12-04 12:04:22 24 4
gpt4 key购买 nike

我想在 R 中创建一个 100*4 的 0 和 1 矩阵,这样每行只有一个 1,每列至少有两个 1。

MyMat <- as.matrix(rsparsematrix(nrow=100, ncol=4, nnz  = 100))
我在想 rsparsematrix但我不确定如何应用我所需的条件。
编辑。我的另一个尝试是 dummy_cols,但无论如何。我还坚持应用这两个条件。我想必须有一种更直接的方法来创建这样的矩阵。

最佳答案

1) 一个由 25 个 4x4 单位矩阵堆叠而成的矩阵满足这些要求

m <- matrix(1, 25) %x% diag(4)
2) 交换 %x% 的两个参数也可以工作并给出一个不同的矩阵,它也满足这一点。
3) (1) 和 (2) 中的两个解矩阵的行和列的任何排列也将满足条件。
m[sample(100), sample(4)]
4) 如果目标是生成一个包含 0/1 值的随机表,其行和各为 1,列和各为 25,则使用 r2dtable :
r <- r2dtable(1, rep(1, 100), rep(25, 4))[[1]]
5) 或者,如果希望允许任何至少为 2 的列总和,则:
rsums <- rep(1, 100)
csums <- rmultinom(1, 92, rep(0.25, 4)) + 2
r <- r2dtable(1, rsums, csums)[[1]]

关于r - 创建一个由 0 和 1 组成的矩阵,这样每一行只有一个 1,每列至少有两个 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69302988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com