如何获取 startsWith 函数来生成字符而不是 R 中的布尔值?

How to get startsWith function to produce the character instead of the Boolean in R?

默认情况下,startsWith 函数将产生布尔输出:

x1 <- c("Foobar", "bla bla", "something", "another", "blu", "brown",
        "blau blüht der Enzian")

startsWith(x1, "b")
[1] FALSE  TRUE FALSE FALSE  TRUE  TRUE  TRUE

如何使用它来获取单词的实际名称?

为此我们可以使用 grep,它有 value 参数,默认情况下是 FALSE

grep("^b", x1, value = TRUE)

或者使用逻辑向量子集

x1[startsWith(x1, "b")]

我们可以使用 str_subset 来自 stringr

stringr::str_subset(x1, '^b')
#[1] "bla bla"    "blu"  "brown" "blau blüht der Enzian"