如何使用巧妙的命令轻松创建此矩阵:
1 0 0
1 0 0
1 0 0
1 0 0
0 1 0
0 1 0
0 1 0
0 1 0
0 0 1
0 0 1
0 0 1
0 0 1
如何使用巧妙的命令轻松创建此矩阵:
1 0 0
1 0 0
1 0 0
1 0 0
0 1 0
0 1 0
0 1 0
0 1 0
0 0 1
0 0 1
0 0 1
0 0 1
unname(model.matrix(~gl(3,4) + 0))
[,1] [,2] [,3]
[1,] 1 0 0
[2,] 1 0 0
[3,] 1 0 0
[4,] 1 0 0
[5,] 0 1 0
[6,] 0 1 0
[7,] 0 1 0
[8,] 0 1 0
[9,] 0 0 1
[10,] 0 0 1
[11,] 0 0 1
[12,] 0 0 1
另一种 Select :
as.matrix(Matrix::bdiag(rep(list(rep(1,4)),3)))
[,1] [,2] [,3]
[1,] 1 0 0
[2,] 1 0 0
[3,] 1 0 0
[4,] 1 0 0
[5,] 0 1 0
[6,] 0 1 0
[7,] 0 1 0
[8,] 0 1 0
[9,] 0 0 1
[10,] 0 0 1
[11,] 0 0 1
[12,] 0 0 1
as.matrix(Matrix::bdiag(replicate(3, numeric(4)+1, FALSE)))