cadena: elimina las primeras n palabras de un documento de texto en R

CorePress2024-01-24  7

Tengo un problema en R y no encuentro una solución similar en Stackoverflow.

Tengo un marco de datos con muchos documentos de texto diferentes. Intenté gsub para eliminar algunos caracteres de un documento de texto siguiendo un patrón específico. Esto funciona bien, pero ahora tengo el problema de que me gustaría eliminar las primeras 5 palabras de cada documento de texto.

Con los ejemplos:

"Oye, soy Tom y me gustan los plátanos" "Oye, soy Moritz y me gusta el chocolate"

Y la solución debería ser:

"Me gustan los plátanos" "Me gusta el chocolate"

¿Es posible esto con una función específica en R? Esto me ayudaría mucho.

Saludos cordiales, Tom



------------------------------------

Opción similar con str_remove

library(stringr)
str_remove(s, '(\w+\s+){5}')
#[1] "I like Bananas"   "I like Chocolate"
datos
s <- c("Hey I am Tom and I like Bananas", "Hey I am Moritz and I like Chocolate")

0



------------------------------------

Pruebe gsub como se muestra a continuación

> gsub("(\w+\s+){5}", "", s)
[1] "I like Bananas"   "I like Chocolate"

Datos

s <- c(
  "Hey I am Tom and I like Bananas",
  "Hey I am Moritz and I like Chocolate"
)



------------------------------------

Podemos usar strsplit, sapply y pegar

xx <- c("Hey I am Tom and I like Bananas", "Hey I am Moritz and I like Chocolate")

sapply(strsplit(xx, split = " "),
       FUN = function(x) paste(x[6:length(x)], collapse = " "))

# [1] "I like Bananas"   "I like Chocolate"



------------------------------------

opción de cadena:

library(stringr)

s <- c("Hey I am Tom and I like Bananas", "Hey I am Moritz and I like Chocolate")
word(s, 6, str_count(s, '\s')+1)
#[1] "I like Bananas"   "I like Chocolate"

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare