对矩阵中的一行进行排序,使列名称与R中的结果矩阵保持一致
假设我有一个矩阵,其中一行X=25773作为元素。这些元素隐式地具有列名V1-V4。我想对这些元素进行排序,一旦排序,它们还必须携带它们的列名,即V1-V4。在本例中,一旦排序,我将需要一个矩阵,该矩阵将元素排序为Y=2 3 5 7,作为第二行,第一行是V1 V4 V2 V3。谢谢。使用维度索引时,列名将随列数据自然移动:对矩阵中的一行进行排序,使列名称与R中的结果矩阵保持一致,r,sorting,matrix,R,Sorting,Matrix,假设我有一个矩阵,其中一行X=25773作为元素。这些元素隐式地具有列名V1-V4。我想对这些元素进行排序,一旦排序,它们还必须携带它们的列名,即V1-V4。在本例中,一旦排序,我将需要一个矩阵,该矩阵将元素排序为Y=2 3 5 7,作为第二行,第一行是V1 V4 V2 V3。谢谢。使用维度索引时,列名将随列数据自然移动: m <- matrix(c(V1=2,5,7,3),1,4,dimnames=list(NULL,c('V1','V2','V3','V4'))); m; ##
m <- matrix(c(V1=2,5,7,3),1,4,dimnames=list(NULL,c('V1','V2','V3','V4')));
m;
## V1 V2 V3 V4
## [1,] 2 5 7 3
m <- m[,order(m[1,]),drop=F];
m;
## V1 V4 V2 V3
## [1,] 2 3 5 7
m抱歉@akrun那是个错误。我在问题中更正了它。我认为结果的colname应该是V1 V4 V2 V3
@akrun不,我没有得到这样的结果。ColName始终保持为V1 V2 3 V4,即使在对数字进行分类之后。我认为您可能必须显示一个小的可复制示例,并显示预期结果,因为我对描述感到困惑。谢谢@bggoldst。但我忘了提到我的矩阵是314X16000。所以我需要对它们进行单独排序,并且我必须知道它们各自的索引。在您的示例中,显式提供DIMNAME。如果我把它们拿出来,那么最后的m仍然给我V1 V2 V4。在我的矩阵中,所有16K列都必须进行排序,我需要知道它们各自的索引。解决这个问题的最好办法是什么?