Сортировка фреймов данных в списке по алфавиту - PullRequest
0 голосов
/ 05 апреля 2019

Я хотел бы знать, как сортировать фреймы данных в списке.

xf1b <- data.frame(c(7,5,3,4,5), c(43,56,23,78,89))    
cf2b <- data.frame(c(7,5,3,4,6), c(43,56,24,48,89))    
df3b <- data.frame(c(7,5,3,4,5), c(43,56,23,78,89)) 

colnames(xf1b) <- c("xVar1","xVar2")    
colnames(cf2b) <- c("yVar1","yVar2")    
colnames(df3b) <- c("zVar1","zVar2")

a2 <- list(xf1b,cf2b,df3b)    
names(a2) <- c("XYZ","DEC","CED")

Как мне отсортировать a2 по алфавиту?

1 Ответ

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

Мы можем order на names из 'a2'

a2[order(names(a2))]

Если это порядка data.frame в пределах list

lapply(a2, function(x) x[order(names(x))])

Или с tidyverse

library(tidyverse)
map(a2, ~ .x %>%
             select(sort(names(.))))

Если вы хотите сохранить столбцы 'Var1' и 'Var2' вместе

bind_cols(a2) %>% 
     split.default(., substring(names(.), 2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...