2015-04-22 3 views
4

Я новичок с R, и я не могу понять, как это сделать:Выбрать элементы в векторе имени

У меня есть именованный вектор с именами игроков и его оценка:

x <-c(3, 4, 6, 2, 3, 5, 0, 1, 1, 2) 
names(x) <- c("ALBERTO", "ANTONIO", "PEPE", "JUAN", "ANDRES", "PEDRO", "MARCOS", "MATEO", "JAVIER", "FRANCISCO") 

Мне нужно получить оценки для игроков, имя которых начинается с буквы «A».

Можно ли установить условие на имя элемента?

Спасибо!

ответ

4

Одним из способов является

x[grepl("^A", names(x))] 
# ALBERTO ANTONIO ANDRES 
#  3  4  3 

^ обозначает начало строки в регулярных выражениях. grepl возвращает логический вектор, который позволит индексировать из x

Или (как указано в комментариях) вы могли бы избежать регулярных выражений и сделать

x[substr(names(x), 1, 1) == 'A'] 
Смежные вопросы