Я знаю, что могу использовать dplyr::select
для перестановки столбцов, но, конкретно, если у меня есть последовательность числовых столбцов/переменных, есть ли способ указать select или другой функции переставить эти переменные от тех, которые имеют максимальную дисперсию, к той, которая имеет минимальную дисперсию в в порядке убывания?
Этот вопрос можно также применить для других функций вместо дисперсии или других правил (которые также могут применяться к символьным переменным)...
Конечно, просто посчитайте статистику для каждого столбца и используйте 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