Воспользуйтесь приведенным ниже примером.Заменить столбцы «каноническим» способом после mutate_each или summaryise_each
library(dplyr)
temp <- data.frame(lapply(1:3, function(i) rnorm(5, 0, 1)))
names(temp) <- paste0("X", 1:3)
temp_each <-
temp %>%
mutate_each(funs(mean, median))
Рассматривая имена temp_each
, мы видим, что
> names(temp_each)
[1] "X1" "X2" "X3" "X1_mean" "X2_mean" "X3_mean" "X1_median" "X2_median" "X3_median"
, то есть конечные столбцы в группах по три, всегда упорядоченный X1
, X2
, X3
+ функция применяется.
Однако, я хотел бы, чтобы это выглядело, как это
[1] "X1" "X1_mean" "X1_median" "X2" "X2_mean" "X2_median" "X3" "X3_mean" "X3_median"
Кто-нибудь знает, как осуществить это, предпочтительно с использованием dplyr
, для кадра данных со многими многими колонками и произвольными именами столбцов?
Вы можете просто изменить порядок столбцов, отсортировав имена в алфавитном порядке? 'temp_each [, order (namesp (temp_each))]' делает ли это то, что вам нужно? – chappers
Это хорошее временное решение, но это может быть необязательно сохранить порядок первоначальных имен, если они не являются 'X1',' X2' и т. Д. ... Я немного изменил вопрос, спасибо – Alex
Вы можете проверить ' mixedorder' from gtools –