我想知道如何对列表中的数据帧进行排序。
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
进行排序?
答案 0 :(得分:2)
我们可以在'a2'的order
上names
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))