gpt4 book ai didi

r - 在特定条件下创建二进制矩阵

转载 作者:行者123 更新时间:2023-12-02 05:23:13 25 4
gpt4 key购买 nike

我正在尝试创建一个函数,给定 mp 返回一个包含 m 行和 mxp 的矩阵> 专栏。矩阵应有 0,但 p 位置除外,从 p(行数)开始。

例如,给定 m=4p=2,矩阵应如下所示:

1    1    0    0    0    0    0    0
0 0 1 1 0 0 0 0
0 0 0 0 1 1 0 0
0 0 0 0 0 0 1 1

我想使用大矩阵。我知道如何使用其他编程语言(例如 python)中的循环来执行此操作,但我确信在 R 中执行此操作应该是一种更简单、更优雅的方法。我已经使用 diag() 玩了一段时间 没有找到解决方案。

最佳答案

apply()rep() 函数应用于对角矩阵的每一行(或列,相同):

t(apply(diag(m), 2, rep, each = p))

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

关于r - 在特定条件下创建二进制矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43048982/

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