选择命名向量

时间:2015-04-22 13:13:48

标签: r vector statistics

我是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”开头的玩家的分数。

是否可以在元素名称上设置条件?

谢谢!

1 个答案:

答案 0 :(得分:5)

一种方法是

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

^代表正则表达式中字符串的开头。 grepl将返回一个逻辑向量,允许索引x

或者(如评论中所指)您可以避免使用正则表达式并执行

x[substr(names(x), 1, 1) == 'A']