2016-02-14 4 views
0

Say есть имя значение пары вектор vЕсть функция, чтобы найти значение в векторе пары значений имени?

v <- c("NY"="New York", "MA"="Massachusetts") 

names(v) 

возвращает

"NY" "MA" 

и

v["NY"] 

возвращает

 NY 
"New York" 

Есть ли функция RET urn «Нью-Йорк» (не нужно возвращать Нью-Йорк в этом случае)?

+1

или 'кошки (V [ "Нью-Йорк"])' для unqoted результата –

ответ

2

Вы можете использовать unname, который также работает с несколькими индексами:

unname(v["NY"]) 
# [1] "New York" 

unname(v[c("NY", "MA")]) 
# [1] "New York"  "Massachusetts" 
+0

Wow! Большое спасибо! – user2029709

+0

@ пользователь2029709, без проблем. Если какой-то ответ решает вашу проблему, подумайте о том, чтобы принять и перенести его, а также некоторые ответы на ваши предыдущие вопросы, см. Http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – Julius

1

Если мы извлекаем один элемент, [[ может сделать это без name.

v[["NY"]] 
#[1] "New York" 

Или используйте as.vector

as.vector(v['NY']) 
#[1] "New York" 

, который также работает с несколькими индексами

as.vector(v[c('NY', 'MA')]) 
#[1] "New York"  "Massachusetts" 
Смежные вопросы