问题描述
我正在使用startsWith
函数,并且希望它返回值,而不是布尔值。
string <- ("dem_seat","factor(state)CT","factor(state)DE")
startsWith(string,"factor(state)")
> FALSE TRUE TRUE
我希望它返回:
> "factor(state)CT" "factor(state)DE"
解决方法
我们可以将grep
与value = TRUE
一起使用(默认情况下,它返回数字索引或位置索引)
grep("^factor\\(state\\)",string,value = TRUE)
如果我们有一个逻辑向量,我们可以将其用作子集的索引
string[startsWith(string,"factor(state)")]
,
我们可以使用str_subset
中的stringr
:
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"