library(readxl)
censo1 <- read_excel(path = "BOVINOS-CENSO-2020.xlsx", skip = 4)
censo1
DEPARTAMENTO <chr> | MUNICIPIO <chr> | CODIGO MUNICIPIO <chr> | TERNERAS < 1 AÑO <dbl> | |
---|---|---|---|---|
ANTIOQUIA | MEDELLIN | 05001 | 2124 | |
ANTIOQUIA | ABEJORRAL | 05002 | 3117 | |
ANTIOQUIA | ABRIAQUI | 05004 | 1129 | |
ANTIOQUIA | ALEJANDRIA | 05021 | 243 | |
ANTIOQUIA | AMAGA | 05030 | 369 | |
ANTIOQUIA | AMALFI | 05031 | 3464 | |
ANTIOQUIA | ANDES | 05034 | 538 | |
ANTIOQUIA | ANGELOPOLIS | 05036 | 163 | |
ANTIOQUIA | ANGOSTURA | 05038 | 1966 | |
ANTIOQUIA | ANORI | 05040 | 4063 |
names(censo1)
## [1] "DEPARTAMENTO" "MUNICIPIO"
## [3] "CODIGO MUNICIPIO" "TERNERAS < 1 AÑO"
## [5] "TERNEROS < 1 AÑO" "HEMBRAS 1 - 2 AÑOS"
## [7] "MACHOS 1 - 2 AÑOS" "HEMBRAS 2 - 3 AÑOS"
## [9] "MACHOS 2 - 3 AÑOS" "HEMBRAS > 3 AÑOS"
## [11] "MACHOS > 3 AÑOS" "TOTAL BOVINOS - 2019"
## [13] "No DE FINCAS 1 A 50" "No DE FINCAS 51 A 100"
## [15] "No DE FINCAS 101 A 500" "No DE FINCAS 501 O MAS"
## [17] "TOTAL FINCAS CON BOVINOS - 2019"
library(janitor)
censo2 <- clean_names(dat = censo1)
censo2
departamento <chr> | municipio <chr> | codigo_municipio <chr> | terneras_1_ano <dbl> | |
---|---|---|---|---|
ANTIOQUIA | MEDELLIN | 05001 | 2124 | |
ANTIOQUIA | ABEJORRAL | 05002 | 3117 | |
ANTIOQUIA | ABRIAQUI | 05004 | 1129 | |
ANTIOQUIA | ALEJANDRIA | 05021 | 243 | |
ANTIOQUIA | AMAGA | 05030 | 369 | |
ANTIOQUIA | AMALFI | 05031 | 3464 | |
ANTIOQUIA | ANDES | 05034 | 538 | |
ANTIOQUIA | ANGELOPOLIS | 05036 | 163 | |
ANTIOQUIA | ANGOSTURA | 05038 | 1966 | |
ANTIOQUIA | ANORI | 05040 | 4063 |
# todas las columnas con todas las filas excepto la 1123 (última)
censo3 <- censo2[-nrow(censo2), ]
censo3
departamento <chr> | municipio <chr> | codigo_municipio <chr> | terneras_1_ano <dbl> | |
---|---|---|---|---|
ANTIOQUIA | MEDELLIN | 05001 | 2124 | |
ANTIOQUIA | ABEJORRAL | 05002 | 3117 | |
ANTIOQUIA | ABRIAQUI | 05004 | 1129 | |
ANTIOQUIA | ALEJANDRIA | 05021 | 243 | |
ANTIOQUIA | AMAGA | 05030 | 369 | |
ANTIOQUIA | AMALFI | 05031 | 3464 | |
ANTIOQUIA | ANDES | 05034 | 538 | |
ANTIOQUIA | ANGELOPOLIS | 05036 | 163 | |
ANTIOQUIA | ANGOSTURA | 05038 | 1966 | |
ANTIOQUIA | ANORI | 05040 | 4063 |
# Filtrando variables de interés: son equivalentes
variables1 <- names(censo3)[c(1, 2, 4:11)] # todas
variables2 <- names(censo3)[-c(3, 17:12)] # todas menos
# Seleccionando columnas que coinciden con nombres de "variables1"
censo4 <- censo3[, variables1]
censo4
departamento <chr> | municipio <chr> | terneras_1_ano <dbl> | terneros_1_ano <dbl> | |
---|---|---|---|---|
ANTIOQUIA | MEDELLIN | 2124 | 688 | |
ANTIOQUIA | ABEJORRAL | 3117 | 1998 | |
ANTIOQUIA | ABRIAQUI | 1129 | 787 | |
ANTIOQUIA | ALEJANDRIA | 243 | 267 | |
ANTIOQUIA | AMAGA | 369 | 340 | |
ANTIOQUIA | AMALFI | 3464 | 2854 | |
ANTIOQUIA | ANDES | 538 | 326 | |
ANTIOQUIA | ANGELOPOLIS | 163 | 171 | |
ANTIOQUIA | ANGOSTURA | 1966 | 906 | |
ANTIOQUIA | ANORI | 4063 | 3622 |
library(tidyr)
censo5 <- pivot_longer(data = censo4,
cols = -c(departamento, municipio), #todas menos depto y mpio
names_to = "tipo",
values_to = "animales")
censo5
departamento <chr> | municipio <chr> | tipo <chr> | animales <dbl> | |
---|---|---|---|---|
ANTIOQUIA | MEDELLIN | terneras_1_ano | 2124 | |
ANTIOQUIA | MEDELLIN | terneros_1_ano | 688 | |
ANTIOQUIA | MEDELLIN | hembras_1_2_anos | 2831 | |
ANTIOQUIA | MEDELLIN | machos_1_2_anos | 1107 | |
ANTIOQUIA | MEDELLIN | hembras_2_3_anos | 2326 | |
ANTIOQUIA | MEDELLIN | machos_2_3_anos | 519 | |
ANTIOQUIA | MEDELLIN | hembras_3_anos | 3612 | |
ANTIOQUIA | MEDELLIN | machos_3_anos | 110 | |
ANTIOQUIA | ABEJORRAL | terneras_1_ano | 3117 | |
ANTIOQUIA | ABEJORRAL | terneros_1_ano | 1998 |
censo6 <- separate(data = censo5,
col = tipo,
into = c("sexo", "edad1", "edad2", "edad3"),
sep = "_",
remove = TRUE)
censo6
departamento <chr> | municipio <chr> | sexo <chr> | edad1 <chr> | edad2 <chr> | edad3 <chr> | animales <dbl> |
---|---|---|---|---|---|---|
ANTIOQUIA | MEDELLIN | terneras | 1 | ano | NA | 2124 |
ANTIOQUIA | MEDELLIN | terneros | 1 | ano | NA | 688 |
ANTIOQUIA | MEDELLIN | hembras | 1 | 2 | anos | 2831 |
ANTIOQUIA | MEDELLIN | machos | 1 | 2 | anos | 1107 |
ANTIOQUIA | MEDELLIN | hembras | 2 | 3 | anos | 2326 |
ANTIOQUIA | MEDELLIN | machos | 2 | 3 | anos | 519 |
ANTIOQUIA | MEDELLIN | hembras | 3 | anos | NA | 3612 |
ANTIOQUIA | MEDELLIN | machos | 3 | anos | NA | 110 |
ANTIOQUIA | ABEJORRAL | terneras | 1 | ano | NA | 3117 |
ANTIOQUIA | ABEJORRAL | terneros | 1 | ano | NA | 1998 |
censo7 <- unite(data = censo6,
col = "edad",
edad1, edad2, # ...
sep = "-",
remove = TRUE)
censo7
departamento <chr> | municipio <chr> | sexo <chr> | edad <chr> | edad3 <chr> | animales <dbl> |
---|---|---|---|---|---|
ANTIOQUIA | MEDELLIN | terneras | 1-ano | NA | 2124 |
ANTIOQUIA | MEDELLIN | terneros | 1-ano | NA | 688 |
ANTIOQUIA | MEDELLIN | hembras | 1-2 | anos | 2831 |
ANTIOQUIA | MEDELLIN | machos | 1-2 | anos | 1107 |
ANTIOQUIA | MEDELLIN | hembras | 2-3 | anos | 2326 |
ANTIOQUIA | MEDELLIN | machos | 2-3 | anos | 519 |
ANTIOQUIA | MEDELLIN | hembras | 3-anos | NA | 3612 |
ANTIOQUIA | MEDELLIN | machos | 3-anos | NA | 110 |
ANTIOQUIA | ABEJORRAL | terneras | 1-ano | NA | 3117 |
ANTIOQUIA | ABEJORRAL | terneros | 1-ano | NA | 1998 |
censo8 <- censo7[, -5]
censo8
departamento <chr> | municipio <chr> | sexo <chr> | edad <chr> | animales <dbl> |
---|---|---|---|---|
ANTIOQUIA | MEDELLIN | terneras | 1-ano | 2124 |
ANTIOQUIA | MEDELLIN | terneros | 1-ano | 688 |
ANTIOQUIA | MEDELLIN | hembras | 1-2 | 2831 |
ANTIOQUIA | MEDELLIN | machos | 1-2 | 1107 |
ANTIOQUIA | MEDELLIN | hembras | 2-3 | 2326 |
ANTIOQUIA | MEDELLIN | machos | 2-3 | 519 |
ANTIOQUIA | MEDELLIN | hembras | 3-anos | 3612 |
ANTIOQUIA | MEDELLIN | machos | 3-anos | 110 |
ANTIOQUIA | ABEJORRAL | terneras | 1-ano | 3117 |
ANTIOQUIA | ABEJORRAL | terneros | 1-ano | 1998 |
library(tidyverse)
censo8 %>%
filter(departamento %in% c("ANTIOQUIA", "VALLE DEL CAUCA")) %>%
ggplot(aes(x = departamento, y = animales, color = sexo, fill = sexo)) +
geom_boxplot(alpha = 0.5)
library(tidyverse)
library(readxl)
library(janitor)
library(Hmisc)
data_censo <-
read_excel(path = "BOVINOS-CENSO-2020.xlsx", skip = 4) %>%
clean_names() %>%
slice(-1123) %>%
select(departamento, municipio, terneras_1_ano:machos_3_anos) %>%
pivot_longer(
cols = -c(departamento, municipio),
names_to = "tipo",
values_to = "animales"
) %>%
separate(
col = tipo,
into = c("sexo", "edad1", "edad2", "edad3"),
sep = "_",
remove = TRUE
) %>%
unite(col = "edad",
edad1,
edad2,
sep = "-",
remove = TRUE) %>%
select(-edad3) %>%
mutate(departamento = capitalize(tolower(departamento)),
municipio = capitalize(tolower(municipio)),
sexo = capitalize(sexo))
data_censo
departamento <chr> | municipio <chr> | sexo <chr> | edad <chr> | animales <dbl> |
---|---|---|---|---|
Antioquia | Medellin | Terneras | 1-ano | 2124 |
Antioquia | Medellin | Terneros | 1-ano | 688 |
Antioquia | Medellin | Hembras | 1-2 | 2831 |
Antioquia | Medellin | Machos | 1-2 | 1107 |
Antioquia | Medellin | Hembras | 2-3 | 2326 |
Antioquia | Medellin | Machos | 2-3 | 519 |
Antioquia | Medellin | Hembras | 3-anos | 3612 |
Antioquia | Medellin | Machos | 3-anos | 110 |
Antioquia | Abejorral | Terneras | 1-ano | 3117 |
Antioquia | Abejorral | Terneros | 1-ano | 1998 |
nueva1 <- data_censo
names(nueva1) <- c("Departamento", "Municipio", "Sexo", "Edad", "Animales")
nueva1
Departamento <chr> | Municipio <chr> | Sexo <chr> | Edad <chr> | Animales <dbl> |
---|---|---|---|---|
Antioquia | Medellin | Terneras | 1-ano | 2124 |
Antioquia | Medellin | Terneros | 1-ano | 688 |
Antioquia | Medellin | Hembras | 1-2 | 2831 |
Antioquia | Medellin | Machos | 1-2 | 1107 |
Antioquia | Medellin | Hembras | 2-3 | 2326 |
Antioquia | Medellin | Machos | 2-3 | 519 |
Antioquia | Medellin | Hembras | 3-anos | 3612 |
Antioquia | Medellin | Machos | 3-anos | 110 |
Antioquia | Abejorral | Terneras | 1-ano | 3117 |
Antioquia | Abejorral | Terneros | 1-ano | 1998 |
nueva2 <- data_censo %>%
set_names(c("Depto", "Mpio", "Sex", "Grupo Edad", "Total"))
nueva2
Depto <chr> | Mpio <chr> | Sex <chr> | Grupo Edad <chr> | Total <dbl> |
---|---|---|---|---|
Antioquia | Medellin | Terneras | 1-ano | 2124 |
Antioquia | Medellin | Terneros | 1-ano | 688 |
Antioquia | Medellin | Hembras | 1-2 | 2831 |
Antioquia | Medellin | Machos | 1-2 | 1107 |
Antioquia | Medellin | Hembras | 2-3 | 2326 |
Antioquia | Medellin | Machos | 2-3 | 519 |
Antioquia | Medellin | Hembras | 3-anos | 3612 |
Antioquia | Medellin | Machos | 3-anos | 110 |
Antioquia | Abejorral | Terneras | 1-ano | 3117 |
Antioquia | Abejorral | Terneros | 1-ano | 1998 |
nueva3 <- data_censo %>%
rename(Total = animales, Depto = departamento)
nueva3
Depto <chr> | municipio <chr> | sexo <chr> | edad <chr> | Total <dbl> |
---|---|---|---|---|
Antioquia | Medellin | Terneras | 1-ano | 2124 |
Antioquia | Medellin | Terneros | 1-ano | 688 |
Antioquia | Medellin | Hembras | 1-2 | 2831 |
Antioquia | Medellin | Machos | 1-2 | 1107 |
Antioquia | Medellin | Hembras | 2-3 | 2326 |
Antioquia | Medellin | Machos | 2-3 | 519 |
Antioquia | Medellin | Hembras | 3-anos | 3612 |
Antioquia | Medellin | Machos | 3-anos | 110 |
Antioquia | Abejorral | Terneras | 1-ano | 3117 |
Antioquia | Abejorral | Terneros | 1-ano | 1998 |
write_csv(x = data_censo, file = "censo_ordenado.csv")
library(tidyverse)
datos_angelica <- read_csv(file = "datos_estudiantes/Sacrificio_y_precios_al_productor_de_ganado_bovino_2018 - Angélica.csv")
datos_daniela <- read_csv(file = "datos_estudiantes/Caracterizaci_n_de_Proyectos_Integrales_de_Desarrollo_Agropecuario_y_Rural__PIDAR_ - Daniela.csv")
datos_katherine <- read_csv(file = "datos_estudiantes/Evaluaciones_Agropecuarias_Municipales_EVA - Katherine.csv")