【发布时间】:2018-06-24 15:09:04
【问题描述】:
我想知道如何使用基本 R 对 R 中包含字母和数字的命名列进行排序或排序
这是我的示例数据:
Names <- c("Name1","Name2")
X2 <- c("10","1")
X1 <- c("7","5")
X10 <- c("8","3")
db <- data.frame(Names, X2, X1, X10)
输出/视图(data.frame):
Names X2 X1 X10
Name1 10 7 5
Name2 1 5 7
假设我想对开头包含“X”字符但使用其数字“值”的列进行排序或排序?期待这个输出:
Names X1 X2 X10
Name1 7 10 5
Name2 5 1 7
这是我目前的解决方案,我希望这对任何人都有帮助:)
db_names <- colnames(db[,2:ncol(db)])
db_names <- db_names[order(nchar(db_names), db_names)]
cbind(Names = db[,1],db[,db_names])
输出:
Names X1 X2 X10
Name1 7 10 5
Name2 5 1 7
我的真实数据框中的列数更多,动态解决方案将不胜感激。
感谢您的关注,抱歉英语不好!
【问题讨论】:
标签: r