Entrega. Puede contestar el examen en uno de los siguientes formatos:
Un script de R, el cual enviará por correo.
Un rmarkdown, el cual enviará por correo.
Una liga a una página de RPubs.
El formato elegido no tendrá impacto sobre su calificación final. En caso de realizar el script, las respuestas a las preguntas deberán estar incluídas como comentarios.
En caso de que presente algún error técnico mientras realiza el examen, mande un correo al instructor o al laboratorista para tratar de darle solución. En caso de que no haya solución, el instructor podrá omitir la pregunta a la hora de revisar su examen.
Cualquier duda general deberá ser realizada en el Piazza o por correo.
Ejercicio 1. Los nombres de los municipios.
Problema: Estaba Juvenal tratando de armar un mapa para el #30DayMapChallenge cuando de repente se le ocurrió ponerse a explorar sobre los nombres de los municipios.
Ejecute el siguiente código para tener la base de datos con la que vamos a trabajar.
# Librerias
library(sf)
library(tidyverse)
# Leemos base de datos de los municipios
muni <- st_read("https://raw.githubusercontent.com/JuveCampos/Shapes_Resiliencia_CDMX_CIDE/master/geojsons/Division%20Politica/mpios_con_menos_islas_aun.geojson", quiet = TRUE)Problema 1. ¿Cuál es la variable que almacena los nombres de los municipios?
R:
Problema 2. ¿Cual es el municipio con el nombre más largo? ¿Cual es el municipio con el nombre más corto? ¿De qué estado son?
R:
Problema 3. ¿Qué municipios tienen palabras que hacen alusión a tamaños (gran, grande, chico, pequeño)? Por ejemplo, algo como “San Apaseo el Grande” o “Huehuetoca el Chico”. Usted defina que palabras o frases le pueden ser de utilidad.
R:
Problema 4. ¿Qué municipos tienen nombres relacionados con algún elemento religioso? Identifique los nombres de estos municipios. Usted defina que palabras o frases le pueden ser de utilidad.
R:
Ejercicio 2. Nombres de bebés
Vamos a trabajar con nombres de bebés. El código que viene a continuación le va a permitir acceder a estadísticas sobre nombres de bebés de Estados Unidos para los últimos años.
# Nombres de bebes.
pacman::p_load(babynames)
babies <- babynames::babynamesProblema 1. El objeto babies almacena las estadísticas de los nombres de los bebés. La variable name guarda los nombres, la variable n guarda el numero de bebés con dicho nombre para el año year y la variable sex almacena el sexo del bebé. Dada esta información… ¿Cuál ha sido el nombre masculino más popular para toda la base? ¿Cuál ha sido el nombre femenino más popular para toda la base?
R:
Problema 2. De todos los nombres de babies, los mas largos se recortaron a 15 letras… ¿Cuantas letras tienen los nombres más cortos de bebés? Escriba un par de estos nombres más cortos.
R:
Problema 3. Nos interesa saber nombres únicos y diferentes. A continuación se muestra el código para poder conocer los nombres de los bebés que solo contienen vocales. Complételo, generando una expresión regular que capture solo las vocales.
Hint: recuerde la función de rebus que le permite generar expresiones regulares a partir de letras.
# Sustituya los "..." con su expresión regular propuesta
str_view_all(unique(str_to_lower(babies$name)),
pattern = "...",
match = TRUE)Problema 4. Para finalizar, nos interesa conocer los nombres de bebés que solo tienen consonantes en su nombre. Igualmente, genere una expresión regular que permita capturar solo los nombres de bebés que contengan solamente consonantes.
Nota: Incluya la y dentro de las consonantes.
# Sustituya los "..." con su expresión regular propuesta
str_view_all(unique(str_to_lower(babies$name)),
pattern = "...",
match = TRUE)Ejercicio 3. Pasajeros del Titanic
El siguiente código le permitirá cargar los datos de la base titanic, de la librería titanic. Esta base de datos es un ejemplo muy interesante de registro de datos de principios del siglo XX, por lo que vale la pena analizarla detenidamente.
pacman::p_load(titanic)
titanic <- titanic_trainComo puede ver, la columna name almacena los títulos que usaban las personas para identificarse.
Problema 1. Extraiga los títulos de las personas (Mr., Miss., Master, etc.) que viajaban a bordo del Titanic. Guardelos en una columna llamada titulo dentro del objeto titanic.
R:
Problema 2. Elabore una gráfica de barras en la que muestre la frecuencia de aparición de cada uno de los títulos dentro de los pasajeros. ¿Cual es el título que más se repite?
R:
Problema 3. Filtre las observaciones de aquellas pasajeras que se registraron con el título Mrs. ¿Qué puede notar a partir de estos registros? ¿Cómo se le ocurre poder extraer el nombre verdadero de este grupo de personas?
R:
Ejercicio 4. Imagine que usted estudió actuación y que además, sabe usar R, y quiere analizar un guión de una obra de teatro. El siguiente código le permitirá acceder al guión de la obra de teatro “The importance of being Earnest”, escrita por Oscar Wilde.
# Leemos el guión
earnest <- readRDS("01_Datos/earnest.rds")Los personajes de la obra son: Jack, Algernon, Chasuble, Merriman, Lane, Lady Bracknell, Gwendoleen, Cecily y Miss Prism. Cada una de sus intervenciones inicia con estos nombres, finalizando con un punto.
Problema 1. Genere una expresión regular que atrape a los nombres de los personajes de la obra de teatro al inicio de cada renglón de sus dialogos.
R:
Problema 2. Determine cuales son los 4 personajes con mayor numero de intervenciones en la obra.
R:
Problema 3. Determine, de todos los personajes mencionados al principio, ¿cual le gustaría representar, y por qué?
R: