我需要抓住构成对称矩阵下三角形的所有三个元素三角形。我想不出如何按照最左边的列向下,然后是右边的下一列的顺序来抓取所有这些碎片,依此类推。我知道下三角形内的 numbe rof 迷你三角形是:
n = x(x - 1)/2
where: x = nrow(mats[[i]])
在这里,我创建了三个带有字母的矩阵(我更容易用这种方式概念化)和我正在寻找的顺序中的元素:
FUN <- function(n) {
matrix(LETTERS[1:(n*n)], n)
}
mats <- lapply(3:5, FUN)
所以这是我想为上面创建的每个矩阵得到的输出(我把它放在代码而不是输出格式中):
list(c("B", "C", "F"))
list(c("B", "C", "G"), c("C", "D", "H"), c("G", "H", "L"))
list(c("B", "C", "H"), c("C", "D", "I"), c("D", "E", "J"),
c("H", "I", "N"), c("I", "J", "O"), c("N", "O", "T"))
我怎样才能在基地 R 中以最快的方式完成这项任务?
不确定我所追求的这种视觉效果是否有帮助,但它可能是: