knitr::opts_chunk$set(echo = FALSE)

library(learnr)
library(tidyverse)
library(hflights)
library(lubridate)
library(readxl)
library(ggplot2)
library(dplyr)
library(gradethis)
tutorial_options(exercise.checker = gradethis::grade_learnr)

marriage <- mosaicData::Marriage

matrimonios <- marriage %>%
  mutate(appdate = mdy(appdate),
         ceremonydate = mdy(ceremonydate),
         dob = format(as.Date(dob, "%m/%d/%y"), "19%y-%m-%d")
)

marriage_duracion <- matrimonios %>%
  mutate(duracion = today() - ceremonydate)
knitr::include_graphics(
  "https://storage.googleapis.com/datos_cursos/ixpantia_introR/ixpantia_logo.png"
  )   

Datos: marriage

Este set de datos contiene información sobre matrimonios registrados en Alabama, Estados Unidos entre 1996 y 1999.

glimpse(marriage)

| Variable | Descripción | | :--------: | :-----------: | | bookpageID | Identificador | | appdate | Fecha en que se presentó la aplicación | | ceremonydate | Fecha de la ceremonia | | delay | Número de días entre la aplicación y la ceremonia | | officialTitle | "Título" de la persona que inscribe el matrimonio | | person | Indica si el novio o la novia inscribió el matrimonio | | dob | Fecha de nacimiento de la persona que inscribe | | age | Años de la persona que inscribe | | race | Etnia de la persona que inscribe | | prevcount | Número de matrimonios previos de la persona que inscribe | | prevconc | Forma en la que el último matrimonio terminó | | hs | Número de años de colegio aprobados | | college | Número de años de universidad aprobados | | dayOfBirth | Día de nacimiento | | sign | Signo astrológico de quien inscribe |

Columnas de fechas

class(marriage$appdate)
class(marriage$ceremonydate)
class(marriage$dob)

Ejercicios: marriage

Convierta las tres columnas en el formato fecha que les corresponde

Anteriormente vimos que en el set de datos marriage hay tres variables que representan fechas pero no están correctamente categorizadas. Utilice las funciones vistas anteriormente para convertirlas en el formato que les pertenece.

appdate <-
ceremonydate <-
dob <-
"mdy o ymd"
appdate <- mdy(marriage$appdate)
ceremonydate <- mdy(marriage$ceremonydate)
dob <- format(as.Date(marriage$dob, "%m/%d/%y"), "19%y-%m-%d")
grade_code("¡Muy bien!")

Cree una nueva columna que represente el tiempo que ha pasado desde la ceremonia

En el ejercicio anterior pasamos las columnas que se referían a fechas en el formato correcto, esto quedó guardado en un nuevo set de datos llamado matrimonios. Ahora cree una nueva variable que represente el tiempo que ha pasado desde la ceremonia (ceremonydate) y llamela duracion

matrimonios %>% 
  mutate()
"today()"
grade_result(
  pass_if(~ identical(unlist(.result), 
                      unlist(matrimonios %>% 
                               mutate(duracion = today() - ceremonydate))),
          "¡Genial!")
)

Represente gráficamente la distribucion de la nueva variable duracion

En el ejercicio anterior creamos una nueva variable llamada duracion que representa el tiempo que ha pasado desde el matrimonio al dia de hoy. Esto quedó guardado en un nuevo set de datos llamado marriage_duracion. Ahora utilice ggplot2 para representar con un gráfico la distribucion de esta variable. Debe utilizar as.numeric(duracion) para evitar problemas con la interfaz.

ggplot(marriage_duracion, aes()) +
  geom_
"geom_histogram()"
"aes(as.numeric(duracion))"
grade_result(
  pass_if(~ identical(.result, 
                      ggplot(marriage_duracion, 
                             aes(as.numeric(duracion))) +
                                geom_histogram(aes(fill = ..count..))),
          "¡Bien hecho!")
)

Represente gráficamente la distribucion de duracion según la persona que inscribió el matrimonio

En el ejercicio anterior obtuvimos un gráfico con la distribución de duracion en forma de histograma, ahora vuelva a hacerlo pero esta vez diferenciando según la persona que inscribió el matrimonio, representado por la columna person. Recuerde utilizar as.numeric(duracion).

ggplot(marriage_duracion, aes()) +
  geom_
"fill = person"
grade_result(
  pass_if(~ identical(.result, 
                      ggplot(marriage_duracion, aes(as.numeric(duracion),
                                                             fill = person)) +
                        geom_histogram()),
          "¡Excelente!")
)


ixpantia/introR documentation built on Jan. 28, 2024, 8:03 a.m.