首页 > 解决方案 > 在R中对列进行数字排序

问题描述

我的数据如下所示,除了数字乱序:

dat<-
paste("Experience",1:20,sep="_")

基本上,我试图根据结束数字按数字顺序对列进行排序,以便按照上面的代码对它们进行排序。但是,当我sort输入值时,它会根据第一个数字进行排序,如下所示:

"Experience_1"  "Experience_10"  "Experience_11" "Experience_12" 
"Experience_13" "Experience_14"  "Experience_15" "Experience_16" 
"Experience_17" "Experience_18" "Experience_19" "Experience_2" 
"Experience_20" "Experience_3"  "Experience_4"  "Experience_5" 
"Experience_6"  "Experience_7" "Experience_8"  "Experience_9"

想法?

标签: rstringsorting

解决方案


Stringr 库是 tidyverse 的一部分,str_sort()它在R.

library(stringr)
str_sort(dat, numeric = TRUE)

推荐阅读