目标
输入矩阵
col.1 col.2 col.3 col.4
row.1 1 2 3 4
row.2 5 6 7 8
row.3 9 10 11 12
row.4 13 14 15 16
输出矩阵
col.1 col.2 col.3 col.4
row.1 1 2 3 4
row.2 0 6 7 8
row.3 0 0 11 12
row.4 0 0 0 16
代码
mat.1 <- matrix(1:16, # 1—16个向量
ncol = 4, # 4列
nrow = 4, # 4行
byrow=TRUE, # byrow=T 表示向量按行的顺序进行,默认的话,会按列的顺序进行排列
dimnames = list(c(paste("x", 1:4, sep = ".")), # 对维度(行列)进行命名, 可以这么看list(x,y) 表示行列
c(paste("y", 1:4, sep = ".")))) # x由x.1....x.4组成,y由y.1....y.4组成
mat.1
rownames(mat.1) <- paste("row", 1:4, sep=".")
colnames(mat.1) <- paste("col", 1:4, sep=".")
mat.1
# 生成上三角矩阵
# diag参数如果为TRUE,表示把矩阵对角也包括进来。设置为FALSE就是不包括。
# mat.1[!upper.tri(mat.1, diag = TRUE)] <- ""
mat.1[!upper.tri(mat.1, diag = TRUE)] <- 0
mat.1
mat.1[!upper.tri(mat.1, diag = F)] <- NA
mat.1
# 生成下三角矩阵
mat.1[!lower.tri(mat.1, diag = TRUE)] <- 0
mat.1
标签:col.2,提取,col.1,col.3,三角,矩阵,col.4 From: https://www.cnblogs.com/jessepeng/p/17316862.html