Sharon
Sharon

Reputation: 3786

How to get name from a value in an R vector with names

I know that with a vector such as

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

It is possible to get a value from a name using syntax such as

v["New York"]

But is it possible to get a name from a value (like the PHP key() function)? Thanks.

Upvotes: 22

Views: 40681

Answers (2)

mathematical.coffee
mathematical.coffee

Reputation: 56935

Lots of ways to do this.

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

to name a few.

Upvotes: 28

Jeremy Coyle
Jeremy Coyle

Reputation: 486

Use match

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

or use which

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

Upvotes: 8

Related Questions