Contando ocorrências de palavras / números inteiros com str_count em R

Igual aesta Nesse caso, eu gostaria de contar o número de ocorrências de várias palavras e números que ocorrem em um vetor de frases com str_count do pacote stringr.

Mas notei que não apenas números inteiros são contados, mas também números parciais. Por exemplo:

df <- c("honda civic 1988 with new lights","toyota auris 4x4 140000 km","nissan skyline 2.0 159000 km")
keywords <- c("honda","civic","toyota","auris","nissan","skyline","1988","1400","159")
library(stringr)
number_of_keywords_df <- str_count(df, paste(keywords, collapse='|'))

Aqui, recebo um vetor para number_of_keywords_df de 3, 3, 3, enquanto claramente deve ser 3, 2, 2. A função str_count parece contar as seqüências parciais "1400" e "159" dentro dos números "140000" e "159000 " Existe alguma maneira de impedir isso?

questionAnswers(2)

yourAnswerToTheQuestion