在R中通过首字母对向量进行子集筛选

10
我正在使用R编程,有一个字符向量。我想通过字符串的第一个字母来对这个向量进行子集提取。例如,我如何将向量子集化,以仅返回向量中以字母A开头的那些元素?
2个回答

21

你可以使用grep:

vector = c("apple", "banana", "fox", "Actor")
vector[grep("^[aA].*", vector)]

[1] "apple" "Actor"

5
一行代码:grep("^[aA].*", vector, value=TRUE) 可以匹配以大写字母A或小写字母a开头的字符串,并返回匹配的结果。 - Joshua Ulrich

7
您可以使用substrtapply来获取所有类型的列表:
tapply(vector,toupper(substr(vector,1,1)),identity)

$A
[1] "apple" "Actor"

$B
[1] "banana"

$F
[1] "fox"

1
或者 split(vector,toupper(substr(vector,1,1))) - Marek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接