我知道我可以使用dplyr :: select重新排列列,但是,具体来说,如果我有一系列数字列/变量,有没有办法告诉select或另一个函数从具有最大方差的位置重新排列这些变量到具有最小降序排列的方差?
此问题还可以用于其他函数,而不是方差或其他规则(也可以应用于字符变量)...
答案 0 :(得分:1)
当然,只需计算每列的统计信息并使用order
。
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