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

How to insert 'n' columns in a matrix

假设我有以下矩阵

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

我想在 new_A 中添加矩阵 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

如何在 new_A 中自动添加 A 的第一列 n 次?

重复 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