在R中比较(字母数字)字符串

4
请参考以下内容:

考虑以下情况:

"16D" < "7A"

返回TRUE。

为什么会这样,我该如何比较这样的字符字符串,使数字先比较,然后再比较字母?这样答案将是false,因为16>7且D>A?


关于“为什么?”- 字母数字顺序 - 参见:sort(c("7A","16D","200Y")) - thelatemail
为什么会这样呢?字符串比较是从第一个不匹配的字符开始测试的。在这里,"1" 小于 "7"。 - flies
1个回答

5

你能适应这个吗?

library("gtools")
(m <- mixedorder(c("16D","7A")))
## [1] 2 1
m[1] < m[2] ## FALSE

它确实有效。但是我实际上有一列这样的字母数字,我需要对其进行分类。例如,我想为那些>=“0A”&<“7A”的内容分配一个标签。 - user10853
你能否修改你的问题/添加细节/使问题可重现,以便我们知道目标任务是什么? - Ben Bolker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接