如何将以下数据框df
排序为df1
?
df
a1 a4 a3 a5 a2
排序数据框
df1
a1 a2 a3 a4 a5
答案 0 :(得分:2)
我们可以使用mixedorder
library(gtools)
library(gtools)
df1 <- df[mixedorder(colnames(df))]
df1
# a1 a3 a9 a10
#1 1 3 1 2
#2 2 4 2 3
#3 3 5 3 4
#4 4 6 4 5
#5 5 7 5 6
df <- data.frame(a1 = 1:5, a10=2:6, a3 = 3:7, a9= 1:5)
答案 1 :(得分:1)
在基础R
中,假设colnames
中的数字不会达到两位数。
df
# a1 a4 a3 a5 a2
#1 1 4 3 5 2
df[, order(names(df))]
# a1 a2 a3 a4 a5
#1 1 2 3 4 5
答案 2 :(得分:0)
假设没有&#34;洞&#34;在后缀列名称的数字中,您还可以使用dplyr:
library(dplyr)
df1 <- select(df, num_range("a", 1:4))