如何在矩阵中插入 '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
假设我有以下矩阵
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