Tarea 4

Fecha de publicación

5 de noviembre de 2024

Instrucciones

  • La fecha de entrega es el 11 de octubre a las 05:00 pm
  • La tarea debe ser escrita en el formato para reportes dinámicos Rmarkdown o quarto
  • Debe entregar el archivo html generado del documento Rmarkdown/quarto por medio de mediación virtual (hay un enlace para someter la tarea). No envíe el archivo Rmd/qmd.
  • El reporte debe utilizar secciones de código (“chunks”) separados para cada ejercicio y subtítulos para cada uno así como comentarios en texto
  • El código de los bloques siempre debe ser visible (no use echo = FALSE)
  • El código dentro de los bloques de código debe estar documentado con comentarios (usando #)
  • Debe usar R básico para la manipulación de datos
  • Cada item tiene un valor de 5 puntos

Ejercicios

  1. Cree una función llamada num_vector que reciba un vector y devuelva una lista que incluya:

    • la clase del vector (pista: class())
    • el largo
    • cuantos elementos faltantes (NAs) contiene

Los elementos de la lista deben tener los nombres clase, largo y faltantes, respectivamente.

  1. Evalue la función num_vector con el siguiente vector: c(1, 2, 3, NA, 5, 6, 7, 8, 9, 10)

  2. Cree una función llamada char_vector que reciba un vector de caracteres y devuelva una lista con tres elementos:

    • el número de elementos únicos (categorías únicas) en el vector (pista: length(unique(x)))
    • el número de observaciones por categoría (pista: table(x))
    • el nombre de la categoría más frecuente (pista: names(which.max(table(x))))

Los elementos de la lista deben tener nombres.

  1. Evalue la función char_vector con el siguiente vector: c("a", "b", "a", "b", "b", "c", "b")

  2. Cree una función llamada check_vector que reciba un vector. Si el vector es numérico debe aplicar la función num_vector y si es de caracteres debe aplicar la función char_vector. Si el vector no es ni numérico ni de caracteres, la función debe imprimir un mensaje (print()) indicando “x no es numérico ni categórico” (pista: is.numeric() y is.character()).

  3. Evalue la función check_vector con los siguientes 3 vectores (uno a la vez):

    • c("a", "b", "a", "b", "b", "c", NA, "b")
    • c(1, 2, 3, NA, 5, 6, 7, 8, 9, 10)
    • c(FALSE, TRUE)