如何将 startsWith 函数设为 return 值,而不是布尔值

How to get startsWith function to return values, not Boolean

我正在使用 startsWith 函数,我希望它是 return 值,而不是布尔值。

string <- ("dem_seat", "factor(state)CT", "factor(state)DE")
startsWith(string , "factor(state)")
> FALSE  TRUE  TRUE

我想 return:

> "factor(state)CT" "factor(state)DE"

我们可以将 grepvalue = TRUE 一起使用(默认情况下,它 return 数字索引或位置索引)

grep("^factor\(state\)", string, value = TRUE)

如果我们有一个逻辑向量,我们可以将其用作子集的索引

string[startsWith(string , "factor(state)")]

我们可以使用 stringr 中的 str_subset :

library(stringr)

string <- c("dem_seat", "factor(state)CT", "factor(state)DE")
str_subset(string, fixed("factor(state)"))
#[1] "factor(state)CT" "factor(state)DE"