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?Para detectar cadenas de texto dentro de documentos, vectores o bases de datos.
Las expresiones regulares están constituidas por una serie de caracteres (lo que incluye los espacios y caracteres especiales, así como números) para definir un patrón de búsqueda. Sirven para localizarlas y extraer palabras, frases, fechas, etc., o bien para detectarlas y deshacernos de ellas.
rebus?Para poder manejar fácilmente las expresiones regulares a través de funciones y objetos, y no tener que trabajar necesáriamente con lenguaje complicado.
str_view() y str_view_all()? ¿Cuál es la diferencia entre ambas?str_view() sirve para marcar la primera serie de caracteres de la expresión regular y ver si vamos bien en el proceso de identificación de la cadena de texto. str_view_all() sirve para marcar todos los caracteres de la expresión regular y calar si vamos bien en nuestra identificación en todos los casos. La diferencia radica en ver la marcada solo la primera parte o toda la expresión regular.
str_detect() y str_detect_all()? ¿Cuál es la diferencia entre ambas?str_detect() sirve para detectar la primera coincidencia de una cadena de texto que incluyen un patrón. str_detect_all() sirve para detectar las coincidencias de una cadena de texto que incluyen un patrón. Su diferencia radica en ver el número de caracteres que detectamos y resaltamos.
str_replace() y str_replace_all()? ¿Cuál es la diferencia entre ambas?str_replace() reemplaza un caracter en la primera coincidencia de una cadena de texto str_replace_all() sirve para reemplazar con un caracter en todas las coincidencias de la cadena de texto que contenga ese patrón. Su diferencia radica en ver el número de caracteres que reemplazamos.
str_remove() y str_remove_all()? ¿Cuál es la diferencia entre ambas?str_remove() sirve para remover (quitar) patrones que coinciden en una cadena de texto. En este caso la primera coincidencia. tr_remove_all() sirve para remover (quitar) patrones que coinciden en una cadena de texto. Su diferencia radica en ver el número de caracteres que removemos
str_extract() y str_extract_all()? ¿Cuál es la diferencia entre ambas?str_extract() sirve para extraer la primera coincidencia de una cadena de texto, marcada en una función. str_extract_all() sirve para extraer las coincidencias de una cadena de texto, marcada en una función. Su diferencia radica en ver el número de caracteres que extraemos.
# 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 ----
pat <- or1(c(PUNCT, SPC))
str_view_all(numeros,
pattern = pat)
numeros <- str_replace_all(numeros,
pattern = pat,
replacement = " ")
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.patquiebre <- "\n"
str_view_all(roma_escena,
pattern = patquiebre)
stringr sustituya todos los quiebres de página de roma_escena por espacios en blanco.patquiebre <- "\n"
str_view_all(roma_escena,
pattern = patquiebre)
roma_escenaB <- str_replace_all(roma_escena,
pattern = patquiebre,
replacement = " ")
roma_escena tiene espacios anormalmente grandes. Genere una expresión regular que capture todos los espacios mas grandes de lo normal (mas de un espacio normal).patEspacio <- SPC %R% one_or_more(SPC)
str_view_all(roma_escenaB,
pattern = patEspacio)
stringr, sustituya todos los espacios anormalmente grandes de roma_escena por espacios normales.roma_escenaC <- str_replace_all(roma_escenaB,
pattern = patEspacio,
replacement = " ")
str_view_all(roma_escenaC,
pattern = patEspacio)
stringr y la expresión regular adecuada, elimine las siguientes frases:"mm/dd/yy (White) 133. CONTINUED: (6) " y…EliminarFrase1 <- SPC %R% one_or_more(WRD) %R% PUNCT %R% one_or_more(WRD) %R% PUNCT %R% one_or_more(WRD) %R% SPC %R% PUNCT %R% one_or_more(WRD) %R% PUNCT %R% SPC %R% one_or_more(DGT) %R% PUNCT %R% SPC %R% one_or_more(WRD) %R% PUNCT %R% SPC %R% PUNCT %R% DGT %R% PUNCT %R% SPC
str_view_all(roma_escenaC,
pattern = EliminarFrase1)
roma_escenaC <- str_remove_all(roma_escenaC,
pattern = EliminarFrase1)
"28 de junio de 1971, lunes"EliminarFrase2 <- SPC %R% one_or_more(DGT) %R% SPC %R% one_or_more(WRD) %R% SPC %R% one_or_more(WRD) %R% SPC %R% one_or_more(WRD) %R% SPC %R%one_or_more(DGT) %R% PUNCT %R% SPC %R% one_or_more(WRD)
str_view_all(roma_escenaC,
pattern = EliminarFrase2)
roma_escenaC <- str_remove_all(roma_escenaC,
pattern = EliminarFrase2)
mayusculas <- one_or_more(UPPER) %R% one_or_more(UPPER)
str_view_all(roma_escenaC, pattern = mayusculas)