Code
library(tidyverse)
library(janitor)
library(readxl)
Ejemplos de ordenamiento con tidyr
library(tidyverse)
library(janitor)
library(readxl)
tidyr
pivot_longer()
y pivot_wider()
dplyr
<-
tabla_x data.frame(
depto = c("Antioquia", "Cundinamarca", "Valle", "Santander"),
ciudad = c("Medellín", "Bogotá", "Palmira", "Barbosa"),
desempleo = c(0.76, 0.89, 0.54, 0.71)
)
<-
tabla_y data.frame(
departamento = c("Antioquia", "Cundinamarca", "Santander", "Antioquia"),
municipio = c("Medellín", "Bogotá", "Bucaramanga", "Barbosa"),
salario = c(1.45, 1.86, 1.71, 1.36)
)
inner_join(x = tabla_x,
y = tabla_y,
by = c("depto" = "departamento",
"ciudad" = "municipio"))
left_join(
x = tabla_x,
y = tabla_y,
by = c("depto" = "departamento", "ciudad" = "municipio")
)
left_join(
x = tabla_y,
y = tabla_x,
by = c("departamento" = "depto", "municipio" = "ciudad")
)
right_join(x = tabla_x,
y = tabla_y,
by = c("depto" = "departamento",
"ciudad" = "municipio"))
right_join(x = tabla_y,
y = tabla_x,
by = c("departamento" = "depto",
"municipio" = "ciudad"))
full_join(
x = tabla_x,
y = tabla_y,
by = c("depto" = "departamento", "ciudad" = "municipio")
)
<-
df_costos read_excel(
"datos/COSTOS POR HECTÁREA DE ARROZ, SISTEMA RIEGO, NACIONAL, II SEMESTRE.xlsx",
skip = 1
)
df_costos
<-
df_costos_ordenado |>
df_costos slice(-c(9, 10)) |>
pivot_longer(cols = -RUBRO,
names_to = "año",
values_to = "costo") |>
rename(rubro = RUBRO) |>
mutate(rubro = str_to_sentence(rubro))
df_costos_ordenado
|>
df_costos_ordenado group_by(año) |>
summarise(total = sum(costo))
|>
df_costos_ordenado pivot_wider(names_from = año,
values_from = costo)
<-
df_fertilizantes read_csv("datos/API_AG.CON.FERT.ZS_DS2_es_csv_v2_18223.csv", skip = 3)
df_fertilizantes
<-
df_fertilizantes_ordenada |>
df_fertilizantes select(-c("Country Code", "Indicator Name", "Indicator Code", ...69)) |>
pivot_longer(
cols = -c("Country Name"),
names_to = "año",
values_to = "consumo_fertilizantes"
|>
) filter(!is.na(consumo_fertilizantes)) |>
filter(!is.na(`Country Name`))
|> head() df_fertilizantes_ordenada
<-
df_bovinos read_csv(
"datos/Inventario_Poblacional_Del_Ganado_Bovino_Valle_del_Cauca_20250311.csv"
)
|> head() df_bovinos
<-
df_bovinos_ordenada |>
df_bovinos pivot_longer(
cols = -c(Municipio, Año, `Unidades Productoras`),
names_to = "variable",
values_to = "bovinos"
|>
) mutate(
variable = str_trim(variable),
sexo = str_extract(variable, "Machos|Hembras"),
edad = str_extract(variable, "(\\d+-\\d+|>\\s?\\d+)\\s*Meses")
|>
) filter(!is.na(sexo)) |>
filter(!is.na(edad)) |>
select(-variable)
|> head() df_bovinos_ordenada
<-
df_area_sembrada_desord read_csv(
"datos/Superficie_Sembrada_con_Ra_ces_Bulbos_y_Tub_rculos_en_el_departamento_del_Valle_del_Cauca_20240312.csv"
)
<-
df_area_cosechada_desord read_csv(
"datos/Superficie_Cosechada_con_Ra_ces_Bulbos_y_Tub_rculos__en_el_Departamento_del_Valle_del_Cauca_20240312.csv"
)
<-
df_produccion_desord read_csv(
"datos/Producci_n_en_Toneladas_por_Hect_reas_de_Ra_ces_Bulbos_y_Tub_rculos_en_el_Departamento_del_Valle_del_Cauca_20240312.csv"
)
<-
df_rto_desord read_csv(
"datos/Rendimiento_en_toneladas_por_hect_reas_en_Cultivos_de__Ra_ces_Bulbos_y_Tub_rculos_en_el_departamento_del_Valle_del_Cauca_20240312.csv"
)
<-
df_area_sembrada_ordenada |>
df_area_sembrada_desord filter(Municipios != "TOTAL") |>
pivot_longer(
cols = -c(Municipios, año),
names_to = "cultivo",
values_to = "area_sembrada"
|>
) mutate(area_sembrada = as.numeric(area_sembrada))
<-
df_area_cosechada_ordenada |>
df_area_cosechada_desord filter(Municipios != "TOTAL") |>
pivot_longer(
cols = -c(Municipios, año),
names_to = "cultivo",
values_to = "area_cosechada"
|>
) mutate(area_cosechada = as.numeric(area_cosechada))
<-
df_produccion_ordenada |>
df_produccion_desord filter(Municipios != "TOTAL") |>
pivot_longer(
cols = -c(Municipios, año),
names_to = "cultivo",
values_to = "produccion"
|>
) mutate(produccion = as.numeric(produccion))
<-
df_rto_ordenada |>
df_rto_desord filter(Municipios != "TOTAL") |>
pivot_longer(
cols = -c(Municipios, año),
names_to = "cultivo",
values_to = "rendimiento"
|>
) mutate(rendimiento = as.numeric(rendimiento))
<-
df_total_odenada left_join(
x = df_area_sembrada_ordenada,
y = df_area_cosechada_ordenada,
by = c("Municipios", "año", "cultivo")
|>
) left_join(y = df_produccion_ordenada,
by = c("Municipios", "año", "cultivo")) |>
left_join(y = df_rto_ordenada,
by = c("Municipios", "año", "cultivo")) |>
distinct(Municipios, año, cultivo, .keep_all = TRUE)
|> head() df_total_odenada
write_csv(df_total_odenada, "evas_valle.csv")