1、生成矩阵,使用matrix函数
> set.seed(111) ## 设定随机数种子 > vect <- sample(1:10,16, replace = T) > vect [1] 4 3 9 5 3 8 10 1 10 4 8 10 9 8 1 7 > dat <- matrix(vect, nrow = 4, ncol = 4, byrow = T, ## 生成4行4列矩阵,矩阵行列相同,也叫方阵,并指定行名、列名 + dimnames = list(paste0("r",1:4), paste0("c",1:4))) > dat c1 c2 c3 c4 r1 4 3 9 5 r2 3 8 10 1 r3 10 4 8 10 r4 9 8 1 7 > class(dat) [1] "matrix" "array"
2、提取主对角线元素
> dat c1 c2 c3 c4 r1 4 3 9 5 r2 3 8 10 1 r3 10 4 8 10 r4 9 8 1 7 > class(dat) [1] "matrix" "array" > diag(dat) ## 提取主对角线元素 [1] 4 8 8 7
3、提取副对角线元素
> dat c1 c2 c3 c4 r1 4 3 9 5 r2 3 8 10 1 r3 10 4 8 10 r4 9 8 1 7 > diag(dat[,ncol(dat):1]) ## 先列逆向输出,然后取对角线 [1] 5 10 4 9