我不知道如何在数据框中找到以某个字母开头的行。
例如。
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'开头
由于
答案 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