繁体   English   中英

如何按R中的列名对数据框进行排序?

[英]how to sort data frame by column names in R?

如何将下面的数据帧df排序为df1

df
a1 a4 a3 a5 a2

排序的数据框

df1
a1 a2 a3 a4 a5

我们可以使用mixedorderlibrary(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)

在基数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

假定后缀名称的数字中没有“空”,您也可以使用dplyr: library(dplyr) df1 <- select(df, num_range("a", 1:4))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM