La presente tarea tiene una sección teórica y una sección práctica.
La entrega se realizará a través de un documento de RMarkdown publicado en RPUbs (se entregará el enlace en un correo a mi con copia a la laboratorista).
En caso de algún error en el código de la tarea, publique el error en Piazza o contacte a su instructor para ver como proceder.
Aquellos que no han podido publicar sus tareas antes pueden entregar la tarea de la misma manera en que lo han estado haciendo antes.
stringr?La librería stringr nos permite manipular cadenas de texto largas y es muy útil cuando hacemos análisis de expresiones de texto (tweets, discursos, guiones, etc. )
Son secuencias de patrones, es decir, composiciones generales, que nos permiten definir búsquedas dentro de un texto más largo. Cuando logramos buscar lo que queremos podemos tanto extraerlo como deshacernos de ello.
rebus?Es una librería que nos permite definir expresiones regulares y utilizarlas, pero de forna simplificada.
str_view() y str_view_all()? ¿Cuál es la diferencia entre ambas?Estas funciones de la librería stringr nos permiten revisar si dentro de la cadena de texto que estamos manipulando estamos logrando encontrar las coincidencias que estamos definiendo con nuestro patrón de búsqueda. Cuando la utilizamos podemos ver en el Viewer de R Studio que resaltan los pedazos de cadena de texto que coinciden con lo que decimos buscar.
En cuanto a la diferencia entre str_view() y str_view_all(), el primero sólo nos muestra la primera coincidencia en la cadena de texto manipulada, mientras que la segunda te muestra todas las que empatan con el patrón definido.
str_detect() y str_detect_all()? ¿Cuál es la diferencia entre ambas?str_detect nos ayuda a saber si el patrón que buscamos está o no dentro de la cadena de texto. Revisa por default toda la cadena y entrega un TRUE o un FALSE. No hay un str_detect_all
str_replace() y str_replace_all()? ¿Cuál es la diferencia entre ambas?str_replace nos ayuda a encontrar un patrón de búsqueda en una cadena de texto y reemplazarlo por otro definido por nosotros. Parecido a Word cuando utilizamos la función buscar y reemplazar. La primera sólo aplica para la primera coincidencia y la segunda para todas dentro de la cadena de texto que estamos manipulando.
str_remove() y str_remove_all()? ¿Cuál es la diferencia entre ambas?str_remove es como una función hermana de str_replace. La diferencia es que en automático modifica los patrones que tienen una coincidencia con "" un character vacío, en otras palabras, los quita. La primera funciona con la primera coincidencia y la segunda para todo el texto.
str_extract() y str_extract_all()? ¿Cuál es la diferencia entre ambas?Esta función sirve para encontrar un patrón dentro del texto y retirarlo. Por ejemplo si buscáramos las vocales dentro de un texto no entregaría, en caso de que existan, un vector lleno de vocales. Esto puede ser útil para contar el número de veces que se repite una palabra en un discurso, un cuento o un guion. La primera función se detiene en la primera coincidencia y la segunda aplica a toda la cadena de texto manipulada.
# Librerias
library(pdftools) # Si no tienes esta libreria, instálala.
library(tidyverse)
library(rebus)
library(htmltools)
numeros, limpie los datos de tal forma que todos los numeros tengan el mismo formato. Para esto, utilice expresiones regulares y funciones de stringr.(Sugerencia: El formato puede ser el que usted defina, pero el mas facil es que sean solo los numeros, sin símbolos raros).
numeros <- c("(595)107-3344",
"(890)-123-4465",
"999 107 5243",
"999_989-0756")
# Aqui coloque su respuesta ----
pattern <-c("[-()_\\s]")
numeros <- str_remove_all(str_squish(numeros), pattern)
numeros <- gsub('(.{2})', '\\1 ', numeros) %>%
str_remove(or1(c(SPC%R%END)))
roma <- pdf_text("Roma-Screenplay-SPANISH.pdf")
roma_escena <- roma[135]
roma_escena
## [1] " mm/dd/yy (White) 133.\nCONTINUED: (6)\nLa Señora Sofía la abraza con fuerza -\n SEÑORA SOFÍA\n Gracias… gracias… gracias, Cleo…\nPero Cleo no para de llorar -\n CLEO\n No la quería… No la quería…\nLa Señora Sofía intenta calmarla -\n SEÑORA SOFÍA\n Shh, shh, shh… Están bien… Los\n niños están bien…\nPero Cleo insiste entre llanto y mocos -\n CLEO\n No la quería… No quería que\n naciera…\nY se quiebra aún más -\n CLEO (CONT’D)\n … ¡Pobrecita!… ¡No quería que\n naciera!… ¡No quería que naciera!…\nLa Señora Sofía la abraza más fuerte y también llora -\n SEÑORA SOFÍA\n Todo va a estar bien, Cleo… Todo\n va a estar bien…\nLas dos mujeres lloran abrazadas. Es un llanto\ncompartido, con sollozos como arcadas, y largos silencios\nque explotan en prolongadas vocales.\nLos niños se enlazan alrededor de las mujeres,\nabrazándolas. Sólo Toño los mira de pie.\nLos curiosos se disipan. El jinete jala la riendas y el\ncaballo sigue su camino por la playa.\nEl mar enfurecido con sus inquietas olas refleja los\núltimos destellos del día.\n28 de junio de 1971, lunes\n"
\n) en el objeto roma_escena.pat = capture(one_or_more("\n"))
str_view_all(roma_escena, pat, match = TRUE)
stringr sustituya todos los quiebres de página de roma_escena por espacios en blanco.roma_escena <- str_replace_all(roma_escena,pat," ")
roma_escena
## [1] " mm/dd/yy (White) 133. CONTINUED: (6) La Señora Sofía la abraza con fuerza - SEÑORA SOFÍA Gracias… gracias… gracias, Cleo… Pero Cleo no para de llorar - CLEO No la quería… No la quería… La Señora Sofía intenta calmarla - SEÑORA SOFÍA Shh, shh, shh… Están bien… Los niños están bien… Pero Cleo insiste entre llanto y mocos - CLEO No la quería… No quería que naciera… Y se quiebra aún más - CLEO (CONT’D) … ¡Pobrecita!… ¡No quería que naciera!… ¡No quería que naciera!… La Señora Sofía la abraza más fuerte y también llora - SEÑORA SOFÍA Todo va a estar bien, Cleo… Todo va a estar bien… Las dos mujeres lloran abrazadas. Es un llanto compartido, con sollozos como arcadas, y largos silencios que explotan en prolongadas vocales. Los niños se enlazan alrededor de las mujeres, abrazándolas. Sólo Toño los mira de pie. Los curiosos se disipan. El jinete jala la riendas y el caballo sigue su camino por la playa. El mar enfurecido con sus inquietas olas refleja los últimos destellos del día. 28 de junio de 1971, lunes "
roma_escena tiene espacios anormalmente grandes. Genere una expresión regular que capture todos los espacios más grandes de lo normal (mas de un espacio normal).pat2 = capture(one_or_more(repeated(SPC)))
str_view_all(roma_escena, pat2, match = TRUE)
stringr, sustituya todos los espacios anormalmente grandes de roma_escena por espacios normales.roma_escena<- str_replace_all(roma_escena,pat2," ")
roma_escena
## [1] " mm/dd/yy (White) 133. CONTINUED: (6) La Señora Sofía la abraza con fuerza - SEÑORA SOFÍA Gracias… gracias… gracias, Cleo… Pero Cleo no para de llorar - CLEO No la quería… No la quería… La Señora Sofía intenta calmarla - SEÑORA SOFÍA Shh, shh, shh… Están bien… Los niños están bien… Pero Cleo insiste entre llanto y mocos - CLEO No la quería… No quería que naciera… Y se quiebra aún más - CLEO (CONT’D) … ¡Pobrecita!… ¡No quería que naciera!… ¡No quería que naciera!… La Señora Sofía la abraza más fuerte y también llora - SEÑORA SOFÍA Todo va a estar bien, Cleo… Todo va a estar bien… Las dos mujeres lloran abrazadas. Es un llanto compartido, con sollozos como arcadas, y largos silencios que explotan en prolongadas vocales. Los niños se enlazan alrededor de las mujeres, abrazándolas. Sólo Toño los mira de pie. Los curiosos se disipan. El jinete jala la riendas y el caballo sigue su camino por la playa. El mar enfurecido con sus inquietas olas refleja los últimos destellos del día. 28 de junio de 1971, lunes "
stringr y la expresión regular adecuada, elimine las siguientes frases:"mm/dd/yy (White) 133. CONTINUED: (6) " y…frase1 <- capture("mm/dd/yy" %R% SPC %R% ANY_CHAR %R% UPPER %R% "hite" %R% ANY_CHAR %R% SPC %R% "133." %R% SPC %R% UPPER %R% UPPER %R% UPPER %R% UPPER %R% UPPER %R% UPPER %R% UPPER %R% UPPER %R% UPPER %R% ANY_CHAR %R% SPC %R% ANY_CHAR %R% "6" %R% ANY_CHAR %R% SPC)
str_view_all(roma_escena,frase1,TRUE)
roma_escena <- str_remove_all(roma_escena, frase1)
roma_escena
## [1] " La Señora Sofía la abraza con fuerza - SEÑORA SOFÍA Gracias… gracias… gracias, Cleo… Pero Cleo no para de llorar - CLEO No la quería… No la quería… La Señora Sofía intenta calmarla - SEÑORA SOFÍA Shh, shh, shh… Están bien… Los niños están bien… Pero Cleo insiste entre llanto y mocos - CLEO No la quería… No quería que naciera… Y se quiebra aún más - CLEO (CONT’D) … ¡Pobrecita!… ¡No quería que naciera!… ¡No quería que naciera!… La Señora Sofía la abraza más fuerte y también llora - SEÑORA SOFÍA Todo va a estar bien, Cleo… Todo va a estar bien… Las dos mujeres lloran abrazadas. Es un llanto compartido, con sollozos como arcadas, y largos silencios que explotan en prolongadas vocales. Los niños se enlazan alrededor de las mujeres, abrazándolas. Sólo Toño los mira de pie. Los curiosos se disipan. El jinete jala la riendas y el caballo sigue su camino por la playa. El mar enfurecido con sus inquietas olas refleja los últimos destellos del día. 28 de junio de 1971, lunes "
"28 de junio de 1971, lunes"frase2 <- capture("28" %R% SPC %R% "de" %R% SPC %R% "junio" %R% SPC %R% "de" %R% SPC %R% "1971" %R% ANY_CHAR %R% SPC %R% "lunes")
str_view_all(roma_escena,frase2,TRUE)
roma_escena <- str_remove_all(roma_escena, frase2)
roma_escena
## [1] " La Señora Sofía la abraza con fuerza - SEÑORA SOFÍA Gracias… gracias… gracias, Cleo… Pero Cleo no para de llorar - CLEO No la quería… No la quería… La Señora Sofía intenta calmarla - SEÑORA SOFÍA Shh, shh, shh… Están bien… Los niños están bien… Pero Cleo insiste entre llanto y mocos - CLEO No la quería… No quería que naciera… Y se quiebra aún más - CLEO (CONT’D) … ¡Pobrecita!… ¡No quería que naciera!… ¡No quería que naciera!… La Señora Sofía la abraza más fuerte y también llora - SEÑORA SOFÍA Todo va a estar bien, Cleo… Todo va a estar bien… Las dos mujeres lloran abrazadas. Es un llanto compartido, con sollozos como arcadas, y largos silencios que explotan en prolongadas vocales. Los niños se enlazan alrededor de las mujeres, abrazándolas. Sólo Toño los mira de pie. Los curiosos se disipan. El jinete jala la riendas y el caballo sigue su camino por la playa. El mar enfurecido con sus inquietas olas refleja los últimos destellos del día. "
mayus <- (one_or_more(UPPER) %R% one_or_more(UPPER))
str_view_all(roma_escena,mayus,TRUE)