You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中对数值向量进行升序排序并生成有序序列?

解决方案

你的向量v是字符类型,直接排序会遵循字典序而非数值大小,所以需要先转换为数值类型再排序:

# 转换为数值型并排序
sorted_v <- sort(as.numeric(v))

# 若需要保持字符格式,可再转回字符型
sorted_v_char <- as.character(sorted_v)

运行后得到的结果就是按数值从小到大排列的序列:

[1]  12  13  14  15  16  17  18  21  23  24  25  26  27  28  31  32  34  35  36  37  38  41  42  43  45  46  47  48
[29]  51  52  53  54  56  57  58  61  62  63  64  65  67  68  71  72  73  74  75  76  78  81  82  83  84  85  86  87

补充说明

你提到的11/22...这类两位相同的元素,在当前用combn生成的向量里本来就不存在(因为combn选取的是两个不同的数字组合),所以无需额外过滤。如果后续生成的向量包含这类元素,可通过以下代码过滤:

# 过滤两位数字相同的元素
filtered_v <- v[substr(v, 1, 1) != substr(v, 2, 2)]

内容的提问来源于stack exchange,提问作者Aoxiang Xin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 10:00:59