【问题标题】:How to get name from a value in an R vector with names如何从具有名称的 R 向量中的值中获取名称
【发布时间】:2014-01-29 04:35:03
【问题描述】:

我知道用一个向量比如

v <- c("MA", "NY", "PA")
names(v) <- c("Massachusetts", "New York", "Pennsylvania")

可以使用诸如

之类的语法从名称中获取值
v["New York"]

但是是否可以从值中获取名称(如 PHP 的 key() 函数)?谢谢。

【问题讨论】:

    标签: r


    【解决方案1】:

    有很多方法可以做到这一点。

    names(v)[v == "NY"] # extract the names, subset by equality to NY
    # or
    names(which(v == "NY")) # extract entries that == NY and get names
    

    仅举几例。

    【讨论】:

    • names(v)[v == "NY"] 看起来是最简单的语法,谢谢。仍然希望有一个像 key() 这样的基本功能。必须自己编写才能在我自己的代码中使用。
    • 使用此语法时请注意 NA:v
    【解决方案2】:

    使用匹配

    names(v)[match("NY",v)]
    

    或者使用哪个

    names(v)[which(v=="NY")]
    

    【讨论】:

      猜你喜欢
      • 2021-08-14
      • 1970-01-01
      • 2019-04-11
      • 2021-03-04
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 2022-12-14
      相关资源
      最近更新 更多