我有一组向量,并希望将它们堆叠在一起以创建矩阵的对角条目.
从c1和c2创建example_out矩阵的简单方法是什么?
c1 <- seq(1, 4)
c2 <- seq(5, 8)
example_out <- matrix(c(1,0,0,0,5,2,0,0,0,6,3,0,0,0,7,4,0,0,0,8), nrow=5, byrow=T)
example_out
Run Code Online (Sandbox Code Playgroud)
创建一个矩阵出来的0S,然后填写主对角线c1和次对角线c2.
example_out <- matrix(rep(0, 20), 5, 4)
diag(example_out) <- c1
diag(example_out[-1, ]) <- c2
Run Code Online (Sandbox Code Playgroud)
生产
> example_out
[,1] [,2] [,3] [,4]
[1,] 1 0 0 0
[2,] 5 2 0 0
[3,] 0 6 3 0
[4,] 0 0 7 4
[5,] 0 0 0 8
Run Code Online (Sandbox Code Playgroud)
数据
c1 <- seq(1, 4)
c2 <- seq(5, 8)
Run Code Online (Sandbox Code Playgroud)