Вы можете использовать str_extract_all
с регулярным выражением положительного просмотра вперед и назад.
stringr::str_extract_all(txt, '(?<=\\()\\d+(?=\\))')[[1]]
#[1] "2020" "1998" "2015"
Если вы хотите подсчитать, сколько присутствует, используйте length
поверх него.
length(stringr::str_extract_all(txt, '(?<=\\()\\d+(?=\\))')[[1]])
#[1] 3
Наверное, проще использовать str_match_all
stringr::str_match_all(txt, '\\((\\d+)\\)')[[1]][, 2]
#[1] "2020" "1998" "2015"