Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何按所有列对矩阵进行排序_R_Sorting_Matrix - Fatal编程技术网

R 如何按所有列对矩阵进行排序

R 如何按所有列对矩阵进行排序,r,sorting,matrix,R,Sorting,Matrix,好吧,我陷入了一个愚蠢的循环。我已经在上通读了一些有用的想法,但还需要一点提示。我想要一个函数,它接受一个具有任意列数的矩阵,并按顺序对所有列进行排序。例如,对于具有N列的矩阵foo, 相当于foo[顺序(foo[,1],foo[,2],…foo[,N]),]。我很乐意使用with或by构造,并在必要时定义矩阵的colnames,但我不知道如何自动收集order(或with)的参数。 或者,我应该说,我可以用粘贴构建整个血腥字符串,然后调用它,但我相信有一种更直接的方法 最优雅的方法(对于“优雅

好吧,我陷入了一个愚蠢的循环。我已经在上通读了一些有用的想法,但还需要一点提示。我想要一个函数,它接受一个具有任意列数的矩阵,并按顺序对所有列进行排序。例如,对于具有
N
列的矩阵
foo
, 相当于
foo[顺序(foo[,1],foo[,2],…foo[,N]),]
。我很乐意使用
with
by
构造,并在必要时定义矩阵的
colnames
,但我不知道如何自动收集
order
(或
with
)的参数。 或者,我应该说,我可以用
粘贴
构建整个血腥字符串,然后
调用
它,但我相信有一种更直接的方法

最优雅的方法(对于“优雅”的某些值)是将其转换为数据帧,并使用
do.call

foo[do.call(order, as.data.frame(foo)), ]

这是因为数据帧只是具有一些相关属性的变量的
列表
,可以传递给需要
列表的函数

谢谢!我一直在玩弄
do.call
,完全忘记了强制数据帧。