代码之家  ›  专栏  ›  技术社区  ›  Mandar Sadye

为什么R中的“<integer>”==“integer>为真

r
  •  4
  • Mandar Sadye  · 技术社区  · 7 年前

    例如:

    7 == "7"
    

    给出正确的,应该是错误的。 目前,我正在做以下工作:

    var1 = 8 == "8"
    var2 = typeof(8) == typeof("8")
    var1 & var2
    

    我想应该有更简单的方法来解决这个问题。 那么,有没有办法在一行中得到相同的结果?

    1 回复  |  直到 7 年前
        1
  •  4
  •   KenHBS    7 年前

    ?Comparison

    如果两个参数是不同类型的原子向量,则一个强制为另一个的类型,优先顺序(递减)为字符、复数、数字、整数、逻辑和原始。

    在同一帮助页面上,作者警告使用 == != 对于中的测试 if -表达式。他们建议使用 identical() 相反:

    7 == "7"
    # TRUE
    identical(7, "7")
    # FALSE