如何在矩阵中插入'n'列?

问题描述 投票:0回答:1

假设我有以下矩阵

A = diag(5)
A
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    0    0    0    0
[2,]    0    1    0    0    0
[3,]    0    0    1    0    0
[4,]    0    0    0    1    0
[5,]    0    0    0    0    1

我想在矩阵的第一列添加 Anew_A (对于 n 次,假设 n = 3但在我这里 n 可以更大)

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

我如何添加第一列的 A 对于 n 时代 new_A 自动?

r matrix cbind
1个回答
1
投票

重复1 n 次,并追加其余列。

n = 3
A[, c(rep(1, n + 1), 2:ncol(A))]

#     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
#[1,]    1    1    1    1    0    0    0    0
#[2,]    0    0    0    0    1    0    0    0
#[3,]    0    0    0    0    0    1    0    0
#[4,]    0    0    0    0    0    0    1    0
#[5,]    0    0    0    0    0    0    0    1
© www.soinside.com 2019 - 2024. All rights reserved.