Я пытаюсь извлечь числа в конце строки, используя regexec
Как извлечь и заменить шаблон в R
y <- c("abcd-efgh/xyz/123456789", "123456789", "abcd-efgh", "123456789")
m <- regexec("\\d+$", y)
new_y <- unlist(regmatches(y, m))
Окончательное значение new_y
выглядит следующим образом
> new_y
[1] "123456789" "123456789" "123456789"
Но я хочу чтобы выглядеть так.
> new_y
[1] "123456789" "123456789" NA "123456789"
i.e. Он должен иметь значение NA везде, где он не мог найти указанный шаблон. Может ли кто-нибудь сказать мне, как это сделать или предложить мне другой способ добиться этого?
Использование [stringr] (https: // github.com/hadley/stringr): 'Библиотека ("stringr"); y <- c ("abcd-efgh/xyz/123456789", "123456789", "abcd-efgh", "123456789"); str_extract (y, "\\ d + $"); ' ' #> "123456789" "123456789" NA "123456789" –