r - 在 R 中对列进行数字排序

标签 r string sorting

<分区>

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

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

基本上,我试图根据结束编号按数字顺序对列进行排序,以便按照上面的代码生成的顺序对它们进行排序。但是,当我对值进行排序时,它会根据第一个数字进行排序:

"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"

想法?

最佳答案

Stringr 库是 tidyverse 的一部分,它有 str_sort() 可以在 R 中对字符串进行数字排序。

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

关于r - 在 R 中对列进行数字排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56043633/

相关文章:

r - 从 R 数据帧中提取逗号分隔值

R Cronbach's alpha -- rbindlist 错误

c# - String.Split() 可以返回 null 吗? (。网)

javascript - 通过 Javascript 在两个其他字符串之间查找字符串的有效方法

algorithm - 查找列表中唯一的非唯一元素对之间的最小距离

javascript - Javascript 的原生排序方法是如何工作的?

r - 在 R 中分割、导出和读取数据集

r - R plot.default 中的 x Axis 太短

Python - 如何在 Python 中剪切字符串?

c - 二维数组的线性排序