【问题标题】:Using Max Function On Character Vectors in R在 R 中对字符向量使用 Max 函数
【发布时间】:2016-06-20 05:04:23
【问题描述】:

我们如何理解 R 中字符向量上的 max 函数?

> max("MSP1","2C")
[1] "MSP1"
> max("202","6B")
[1] "6B"
> max("99","5C")
[1] "99"

当我阅读文档时,它提到“字符版本按字典顺序排序”和“结果的类型将是层次结构整数中最高输入的类型

这是否意味着他们逐个位置比较字符?在第一种情况下,由于“M”大于“2”,则“MSP1”>“2C”。因此,只比较两个字符的第一个位置?

【问题讨论】:

  • 没错。所以"99""100" 之前。
  • @alistaire 因此> max("100","99") [1] "99"
  • 是的,对不起,我可以说得更清楚。它是逐个字符的,从最小到最大运行标点符号、数字、小写字母、大写字母,就像您的计算机按字母顺序排列文件名一样。这可能是由于它的存储方式,即 Unicode(或其他)字形/代码的顺序,尽管当时这是温和的猜测。
  • @alistaire 谢谢!
  • 参见?Comparison中的“详细信息”部分。

标签: r


【解决方案1】:

max 比较不区分大小写:

> max(c("a","Z"))
[1] "Z"
> max(c("A","z"))
[1] "z"

【讨论】:

    猜你喜欢
    • 2021-11-06
    • 2019-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-10
    • 1970-01-01
    • 2020-05-29
    相关资源
    最近更新 更多