Creating Identity Matrices in R

前端 未结 1 333
渐次进展
渐次进展 2021-01-07 18:19

I\'d like to create identity matrices of different sizes, and I\'m able to do so on a smaller scale like so:

> x <- matrix(cbind(c(1,0), c(0,1)), 2)
&g         


        
1条回答
  •  孤城傲影
    2021-01-07 18:27

    one (two) of the uses for diag when nrow is specified or when x is a vector of length one, you get an identity matrix

    diag(5)
    diag(nrow = 5)
    

    or you could create a matrix of 0s and fill in the diagonal:

    mat <- matrix(0, 5, 5)
    diag(mat) <- 1
    
    ## or shorter:
    `diag<-`(matrix(0, 5, 5), 1)
    

    All of these give me:

    #      [,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
    

    0 讨论(0)
提交回复
热议问题