gpt4 book ai didi

r - 通过在 R 中将对角线元素添加为 1,从 n-1*n 矩阵创建 n*n 矩阵

转载 作者:行者123 更新时间:2023-12-03 18:39:51 27 4
gpt4 key购买 nike

例如我有一个 2*3 矩阵

     [,1] [,2] [,3]
[1,] 2 4 6
[2,] 3 5 7
我想要一个 3*3 的矩阵,在 R 的对角线中插入 1
输出 :
     [,1] [,2] [,3]
[1,] 1 4 6
[2,] 2 1 7
[3,] 3 5 1

最佳答案

使用 append

unname(mapply(function(x, y) append(x, 1, y), as.data.frame(m), 1:ncol(m) - 1))

# [,1] [,2] [,3]
# [1,] 1 4 6
# [2,] 2 1 7
# [3,] 3 5 1
或者使用 replace
replace(diag(3), diag(3) < 1, m)
# [,1] [,2] [,3]
# [1,] 1 4 6
# [2,] 2 1 7
# [3,] 3 5 1

数据:
m <- structure(2:7, .Dim = 2:3)

关于r - 通过在 R 中将对角线元素添加为 1,从 n-1*n 矩阵创建 n*n 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63550047/

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