R 如何用置换法求三角矩阵
我有一个正方形矩阵,我知道它可以通过排列变成三角形矩阵,得到三角形矩阵的矩阵::函数调用是什么 因此,我将B作为R 如何用置换法求三角矩阵,r,matrix,R,Matrix,我有一个正方形矩阵,我知道它可以通过排列变成三角形矩阵,得到三角形矩阵的矩阵::函数调用是什么 因此,我将B作为 B <- matrix(c(0,5,6,1,2,3,0,0,9),3,3) 你可以试试看 B[, order(sapply(1:ncol(B), function(x) rle(B[,x]==0)$lengths[1]*rle(B[,x]==0)$values[1]))] # [,1] [,2] [,3] #[1,] 1 0 0 #[2,] 2
B <- matrix(c(0,5,6,1,2,3,0,0,9),3,3)
你可以试试看
B[, order(sapply(1:ncol(B), function(x) rle(B[,x]==0)$lengths[1]*rle(B[,x]==0)$values[1]))]
# [,1] [,2] [,3]
#[1,] 1 0 0
#[2,] 2 5 0
#[3,] 3 6 9
根据连续零点数(从上排向下计数),对矩阵的列进行排序,以零的最短序列为先。
可以包括一些输入和预期输出(您可能需要考虑在可重复的示例上读取),请提供B[, order(sapply(1:ncol(B), function(x) rle(B[,x]==0)$lengths[1]*rle(B[,x]==0)$values[1]))]
# [,1] [,2] [,3]
#[1,] 1 0 0
#[2,] 2 5 0
#[3,] 3 6 9