如何查找以某个字母开头的行数?

时间:2017-10-23 00:55:55

标签: r dataframe rows

我不知道如何在数据框中找到以某个字母开头的行。

例如。

mtcars 
               mpg cyl disp  hp drat   wt ... 
Mazda RX4     21.0   6  160 110 3.90 2.62 ... 
Mazda RX4 Wag 21.0   6  160 110 3.90 2.88 ... 
Datsun 710    22.8   4  108  93 3.85 2.32 ...

我想知道有多少辆车以字母'M'开头

由于

2 个答案:

答案 0 :(得分:4)

你可以做到

sum(startsWith(rownames(mtcars), "M"))
# [1] 10

其他效率较低的可能性包括

sum(grepl("^M", rownames(mtcars)))
# [1] 10
length(grep("^M", rownames(mtcars)))
# [1] 10
sum(regexpr("^M", rownames(mtcars)) == 1L)
# [1] 10
sum(substr(rownames(mtcars), 1, 1) == "M")
# [1] 10

答案 1 :(得分:0)

另一个好方法是使用stringr包

library(stringr)
str_view(rownames(mtcars),'^M') # to see all results or
str_view(rownames(mtcars),'^M', match = T) # to see only the match results