R: ¿Cómo evitar el desbordamiento de memoria cuando se usa mgsub en modo vectorial?

Tengo un largo vector de caracteres (por ejemplo, "Hello World", etc.), 1.7M de filas, y necesito sustituir palabras en ellas usando un mapa entre dos vectores, y guardar el resultado en el mismo vector. Aquí hay un ejemplo simple:

library(qdap)
line = c("one", "two one", "four phones")
e = c("one", "two")
r = c("ONE", "TWO")
line = mgsub(e,r,line)

Resultado:

[1] "ONE"  "TWO ONE" "four phONEs"

Como puede ver, cada instancia dee[j] en línea se sustituye conr[j] y solor[j]. Funciona bien en una "línea" relativamente pequeña ye->r longitud de vocabulario, pero cuando corrolength(line) = 1700000 ylength(e) = 750, Alcanzo la memoria total asignada:

Reached total allocation of 7851Mb: see help(memory.size)

¿Alguna idea de cómo evitarlo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta