Ваше первое условие (которое, на мой взгляд, странно идентично второму?) - TRUE
для обоих элементов, но извлечение первого шаблона NA
для второго элемента:
library(stringr)
vec1 <- c("1cm start shaped area Barr.","small tongue of columnar lines mucosa in the.")
vec1 <- data.frame(vec1,stringsAsFactors = FALSE)
grepl("Barr|column", vec1$vec1)
#> [1] TRUE TRUE
str_extract(vec1$vec1, "\\d\\s*cm.*Barr|column\\?//.")
#> [1] "1cm start shaped area Barr" NA
Создано в 2018-12-08 с помощью пакета Представить (v0.2.1)
Конечно, вместо этого можно задать вектор для аргумента шаблона str_extract()
если ваши два ifelse()
условия действительно предполагаются идентичными:
library(stringr)
vec1 <- c("1cm start shaped area Barr.","small tongue of columnar lines mucosa in the.")
vec1 <- data.frame(vec1,stringsAsFactors = FALSE)
grepl("Barr|column", vec1$vec1)
#> [1] TRUE TRUE
str_extract(vec1$vec1, "\\d\\s*cm.*Barr|column\\?//.")
#> [1] "1cm start shaped area Barr" NA
ifelse(grepl("Barr|column", vec1$vec1),
str_extract(vec1$vec1, c("\\d\\s*cm.*Barr|column\\?//.", "tongue.*col")),
"No")
#> [1] "1cm start shaped area Barr" "tongue of col"
Создано в 2018-12-08 пакетом prex (v0.2.1)