Возможно ли изменить порядок столбцов R-таблицы по какому-то правилу? - PullRequest
0 голосов
/ 07 апреля 2019

Я знаю, что могу использовать dplyr :: select для перестановки столбцов, но, конкретно, если у меня есть последовательность числовых столбцов / переменных, есть ли способ сказать select или другой функции переставить эти переменные из тех, которые имеют максимальную дисперсию чтобы иметь минимальную дисперсию в порядке убывания?

Этот вопрос может также применяться для других функций вместо дисперсии или других правил (которые также могут применяться к символьным переменным) ...

1 Ответ

2 голосов
/ 07 апреля 2019

Конечно, просто рассчитайте статистику для каждого столбца и используйте 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
...