Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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_Dataframe_Dplyr_Tibble - Fatal编程技术网

R 是否有可能根据某种规则对数据库的列进行重新排序?

R 是否有可能根据某种规则对数据库的列进行重新排序?,r,sorting,dataframe,dplyr,tibble,R,Sorting,Dataframe,Dplyr,Tibble,我知道我可以使用dplyr::select来重新排列列,但具体来说,如果我有一个数字列/变量序列,有没有办法告诉select或其他函数以降序重新排列这些变量,从方差最大的变量到方差最小的变量 这个问题也可以应用于其他函数,而不是方差或其他规则(也可以应用于字符变量) 当然,只需计算每列的统计数据,然后使用顺序 xy <- data.frame(a = rnorm(10, mean = 5), b = rnorm(10, mean = -3),

我知道我可以使用
dplyr::select
来重新排列列,但具体来说,如果我有一个数字列/变量序列,有没有办法告诉select或其他函数以降序重新排列这些变量,从方差最大的变量到方差最小的变量


这个问题也可以应用于其他函数,而不是方差或其他规则(也可以应用于字符变量)

当然,只需计算每列的统计数据,然后使用
顺序

xy <- data.frame(a = rnorm(10, mean = 5),
                 b = rnorm(10, mean = -3),
                 c = rnorm(10, mean = 4))

xy[, order(sapply(xy, FUN = mean))]

           b        c        a
1  -2.471796 2.425745 5.679503
2  -3.902212 4.954602 5.550362
3  -4.701174 4.319966 5.702840
4  -3.803088 3.187227 4.768257
xy