Coincidencia de patrones de conteo en R

¿Cómo se podría contar de manera eficiente el número de instancias de una cadena de caracteres que ocurren dentro de otra cadena de caracteres?

A continuación se muestra mi código hasta la fecha. Identifica con éxito si ocurre alguna instancia de una cadena en la otra cadena. Sin embargo, no sé cómo extenderlo de una relación VERDADERA / FALSA a una relación de conteo.

x <- ("Hello my name is Christopher. Some people call me Chris")
y <- ("Chris is an interesting person to be around")
z <- ("Because he plays sports and likes statistics")

lll <- tolower(list(x,y,z))
dict <- tolower(c("Chris", "Hell"))

mmm <- matrix(nrow=length(lll), ncol=length(dict), NA)

for (i in 1:length(lll)) {
for (j in 1:length(dict)) {
    mmm[i,j] <- sum(grepl(dict[j],lll[i]))
}
}
mmm

Cede:

       [,1] [,2]
 [1,]    1    1
 [2,]    1    0
 [3,]    0    0

Dado que la cadena en minúsculas "chris" aparece dos veces en ellll[1] Me gustaríammm[1,1] ser 2 en lugar de 1.

Un ejemplo real es una dimensión mucho más alta ... así que me encantaría que el código pudiera vectorizarse en lugar de usar mi fuerza bruta para los bucles.

Respuestas a la pregunta(5)

Su respuesta a la pregunta