【问题标题】:Is there a way to sort a string that has numerics in R? [duplicate]有没有办法对 R 中包含数字的字符串进行排序? [复制]
【发布时间】:2017-11-30 21:08:59
【问题描述】:

我在 R 中有一个遵循以下格式的字符串向量:1:A。所以假设我有一个带字符串的向量

x = c("1:A", "201:A", "2:A") 

我想对这个向量进行排序,让它变成

["1:A" "2:A" "201:A"]

在 R 中是否有能够做到这一点的函数?我试过了

mixedsort(x, decreasing = FALSE) 

来自gtools 库,但是当这个向量被放大以包含字母B 时,它似乎仍然不能很好地工作。有什么想法吗?

【问题讨论】:

  • 当“向量放大以包含字母 B”时,您的示例数据和预期结果是什么。

标签: r string sorting


【解决方案1】:

一个选项是mixedsort

library(gtools)
mixedsort(x)
#[1] "1:A"   "2:A"   "201:A"

或者用gsuborder去掉非数字字符

x[order(as.numeric(gsub("\\D+", "", x)))]
#[1] "1:A"   "2:A"   "201:A"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-29
    • 2011-11-29
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 2020-02-18
    相关资源
    最近更新 更多