1 Ejemplo encuesta

  • Importar los datos de la encuesta sin depurar.
  • Consultar la tipificación que asignó R a las columnas de la base de datos.

1.1 Importando datos

library(readxl)
encuesta_mal <- read_excel("encuesta.xlsx")
encuesta_mal

1.2 Tipificación de datos

library(tidyverse)
glimpse(encuesta_mal)
## Rows: 30
## Columns: 11
## $ `Marca temporal`                                                                                                        <dttm> …
## $ `1. ¿Cuál es su promedio académico actual?`                                                                             <chr> …
## $ `2. ¿Cuál es su color favorito?`                                                                                        <chr> …
## $ `3. En promedio, ¿Cuántas horas de la semana dedica a actividades académicas (estudiar, leer, clases, etc.)?`           <chr> …
## $ `4. En promedio, ¿Cuántas horas duerme al día?`                                                                         <chr> …
## $ `5. ¿En cuántas redes sociales está inscrito actualmente?`                                                              <dbl> …
## $ `6. ¿Cuál es la red social que más frecuenta?`                                                                          <chr> …
## $ `7. Desde que terminó el bachillerato, ¿Cuánto tiempo tardó en ingresar a la universidad?`                              <chr> …
## $ `8. ¿Tiene usted hábito de lectura?`                                                                                    <chr> …
## $ `9. En promedio, ¿Cuántas horas a la semana permanece conectado a internet (redes sociales, Whatsapp,  otras páginas)?` <chr> …
## $ `10. ¿Actualmente trabaja?`                                                                                             <chr> …

1.3 Depuración

  • Edición de nombres.
  • Seleccionar todas las variables excepto la fecha.
  • Conversión de formatos. Por ejemplo pasamos la variable “promedio_academico” de caracter a numérico.
  • Extracción de números con la función “parse_number()”.
  • Unificación de texto en la variable “color_favorito”.
# Vector de nombres
nombres <- c("fecha", "promedio_academico", "color_favorito",
             "horas_estudiar", "horas_dormir", "redes_sociales",
             "redsocial_favorita", "bachiller_universidad",
             "lectura", "horas_internet", "trabajo")

encuesta_bien <- encuesta_mal %>% 
  set_names(nombres) %>% 
  select(-fecha) %>% 
  mutate(
    promedio_academico = as.numeric(promedio_academico),
    horas_estudiar = parse_number(horas_estudiar),
    horas_dormir = parse_number(horas_dormir),
    horas_internet = parse_number(horas_internet),
    color_favorito = str_to_lower(color_favorito),
    color_favorito = str_to_sentence(color_favorito)
  )

encuesta_bien

1.4 Exportando datos

1.4.1 csv por comas

write_csv(encuesta_bien, "encuesta_bien.csv")

1.4.2 Excel

library(writexl)
write_xlsx(encuesta_bien, "encuesta_bien_excel.xlsx")

2 Ejemplo frutales

  • Objetivo: unir bases de datos de área sembrada, área cosechada, producción y rendimiento de frutales en el Valle del Cauca.

2.1 Área sembrada

  • Importar datos
  • Editar nombres de algunas variables.
  • Convertir de formato ancho a formato largo. Esto lo hacemos con la finalidad de tener una variable para el cultivo y otra para el área sembrada.
library(tidyverse)

area_sembrada <- read_csv("Superficie_Sembrada_con_Frutales_en_el_departamento_del_Valle_del_Cauca.csv") %>% 
  rename(Year = Año,
         Guanábana = `Guana bana`,
tricos = Citricos) %>% 
  pivot_longer(cols = -c(Municipios, Year),
               names_to = "Cultivo",
               values_to = "area_sembrada")

area_sembrada

2.2 Área cosechada

  • Importar datos
  • Editar los nombres de algunas variables. Debemos tener en cuenta que los nombres coincidan con los nombres de la base de datos anterior.
  • Filtrar filas con información errada. Por ejemplo “Year” igual a “año”.
  • Convertir de formato ancho a formato largo. Esto lo hacemos con la finalidad de tener una variable para el cultivo y otra para el área cosechada.
area_cosechada <- read_csv("Superficie_Cosechada_con_Frutales_en_el_Valle_del_Cauca_del_A_o_2000_al_2018.csv") %>% 
  rename(Year = año,
tricos = Citricos,
         Guanábana = `Guana bana`,
         `Melón A` = `Melón a`,
         `Melón B` = `Melon b`) %>% 
  filter(Year != "año") %>% 
  mutate(
    across(c(Year:Vid), as.numeric)
  ) %>% 
  pivot_longer(cols = -c(Municipios, Year),
               names_to = "Cultivo",
               values_to = "area_cosechada")

area_cosechada

2.3 Producción

  • Importar datos
  • Editar nombres de algunas variables.
  • Filtrar filas con etiquetas erradas.
read_csv(
  "Producci_n_de_Frutales_en_el_departamento_del_valle_del_cauca_del_a_o_2000_al_2018.csv"
) %>%
  rename(
    Year = año,
tricos = Citricos,
    Guanábana = `Guana bana`,
    `Melón A` = `Melón a`,
    `Melón B` = `Melon b`
  ) %>%
  filter(Year != "año") %>%
  mutate(across(
    .cols = c(Year:Vid),
    .fns = ~ str_replace_all(
      string = .x,
      pattern = ",",
      replacement = "."
    )
  ))