datos <- read.csv(file = 'CreditosAgropecuario.csv', encoding = 'UTF-8')
Estos datos corresponden a operaciones de créditos colocadas en el sector agropecuario colombiano en el año 2017. Los mismos están disponibles en https://www.datos.gov.co/Agricultura-y-Desarrollo-Rural/Estad-sticas-sector-agropecuario-cultivos-anuales-/cb3g-6x28, cuya consulta se realizó el día Martes 05 de Diciembre del 2017.
La base de datos está constituida por 350109 observaciones y 19 variables:
str(datos) # A partir de la función "str"", se proporciona información sobre la estructura de las variables incluidas en la base de datos
## 'data.frame': 350109 obs. of 19 variables:
## $ Año : int 2017 2017 2017 2017 2017 2017 2017 2017 2017 2017 ...
## $ Mes : int 1 1 1 1 1 1 1 1 1 1 ...
## $ fuente.Colocacion : Factor w/ 3 levels "AGROPECUARIA",..: 3 3 3 3 3 3 3 3 3 3 ...
## $ Tipo.Productor : Factor w/ 3 levels "GRANDE","MEDIANO",..: 2 2 3 2 3 2 2 2 2 2 ...
## $ Valor.Inversion : num 0 0 0 0 0 0 0 0 0 0 ...
## $ Colocacion : num 1.6e+07 1.3e+07 5.0e+05 2.0e+06 3.8e+06 ...
## $ Departamento.Inversion : Factor w/ 33 levels "AMAZONAS","ANTIOQUIA",..: 19 31 19 2 26 2 20 19 2 2 ...
## $ Municipio.Inversion : Factor w/ 1016 levels "ABEJORRAL","ABREGO",..: 552 937 552 507 504 507 812 552 507 507 ...
## $ Municipio.de.PostConflico. : Factor w/ 2 levels "N","S": 1 2 1 1 1 1 2 1 1 1 ...
## $ Departamento.de.Colocacion.de.Credito: Factor w/ 33 levels "AMAZONAS","ANTIOQUIA",..: 19 31 19 2 26 2 20 19 2 2 ...
## $ Municipio.Colocacion.de.Credito : Factor w/ 783 levels "ABEJORRAL","ABREGO",..: 431 723 431 395 392 395 624 431 395 395 ...
## $ Plazo : int 12 12 12 12 12 12 12 12 12 12 ...
## $ Linea.de.Credito : Factor w/ 3 levels "Capital de Trabajo",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ Linea.de.Produccion : Factor w/ 30 levels "ACTIVIDADES RURALES (CT)",..: 29 29 29 29 29 29 29 29 29 29 ...
## $ Genero : Factor w/ 3 levels "HOMBRE","MUJER",..: 2 2 1 2 2 2 2 1 2 3 ...
## $ X..FAG : Factor w/ 40 levels "","10%","100%",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ Vlr.Inic.Garantia : num NA NA NA NA NA NA NA NA NA NA ...
## $ LATITUD : Factor w/ 1086 levels "","(-0.2, -74.7666667)",..: 246 321 246 771 460 771 179 246 771 771 ...
## $ CANTIDAD : int 1 1 1 1 1 1 1 1 1 1 ...
library(dplyr) # Se cargan las librería de interés
## Warning: package 'dplyr' was built under R version 3.3.3
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.3.3
library(DT)
## Warning: package 'DT' was built under R version 3.3.3
Para responder a la pregunta anterior, se procede a llevar a cabo la coerción de la variable mes, puesto que “R” la lee como un número entero (observado a partir de la función “str”), y para realizar la gráfica que responderá a la pregunta planteada, es necesario que la variable se convierta a factor.
P1.1 <- datos %>%
mutate(Mes = as.factor(Mes))
## Warning: package 'bindrcpp' was built under R version 3.3.3
str(P1.1[, 2]) # La variable mes se cambió a factor
## Factor w/ 9 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
P1.2 <- P1.1 %>%
group_by(Mes) %>%
summarise(n_cred_mes = sum(CANTIDAD))
ggplot(data = P1.2, aes(x = Mes, y = n_cred_mes)) +
geom_bar(stat = 'identity', color = 'mediumturquoise', fill = 'yellow') +
labs(x = 'Meses del año 2017', y = 'N\u00FAmero de cr\u00E9ditos') +
geom_text(aes(label = n_cred_mes), color = 'cornsilk4', size = 6, position = position_identity(), vjust = +1.6) +
theme_classic() +
theme(axis.text= element_text(size = 14), axis.title = element_text(size = 14, face = 'bold'))
Claramente se observa que en el mes número 6, se generaron el mayor número de créditos.
A continuación se crea un tema en blanco (blank_theme), para que al momento de hacer el gráfico “pie”, quede más agradable a la vista:
blank_theme <- theme_minimal() +
theme(
axis.title.x = element_blank(),
axis.title.y = element_blank(),
panel.border = element_blank(),
panel.grid = element_blank(),
axis.ticks = element_blank()
)
Para responder a la pregunta anterior, no se incluyen valores en la inversión iguales a cero, y se agrupan dichos valores por tipo de productor.
P2.1 <- datos %>%
filter(Valor.Inversion != 0) %>%
group_by(Tipo.Productor) %>%
summarise(val_inv_prod = sum(Valor.Inversion)) %>%
mutate(total_val_inv_prod = sum(val_inv_prod),
porcentaje = (val_inv_prod/total_val_inv_prod)*100)
ggplot(data = P2.1, aes(x = '', y = porcentaje, fill = Tipo.Productor)) +
geom_bar(width = 1, stat = 'identity') +
coord_polar(theta = 'y', start = 0) +
scale_fill_brewer(palette = 'Pastel2') + blank_theme +
geom_text(aes(label = round(porcentaje, digits = 2)), position = position_stack(vjust = 0.5), size = 6, color = 'cornsilk4') +
theme(legend.position = 'top') + theme(legend.title = element_text(colour = 'black', size = 14, face ='bold')) +
theme(legend.text = element_text(colour = 'gray44', size = 14, face = 'bold')) +
labs(fill = 'Tipo de productor')
Claramente se observa que el “gran” productor es el que tiene a lo sumo, un mayor valor en la inversión.
P3.1 <- datos %>%
filter(Departamento.Inversion == 'ANTIOQUIA') %>%
group_by(Municipio.Inversion) %>%
select(Departamento.Inversion, Municipio.Inversion) %>%
count(Municipio.Inversion)
ggplot(data = P3.1, aes(x = Municipio.Inversion, y = n)) +
geom_bar(stat = 'identity', color = 'gray0', fill = 'chartreuse') +
labs(x = 'Municipio del departamento de Antioquia', y = 'N\u00FAmero de cr\u00E9ditos') +
geom_text(aes(label = n), color = 'deeppink', size = 2, position = position_identity(), vjust = -0.1) +
theme_classic() +
theme(axis.text= element_text(size = 4, angle = 90), axis.title = element_text(size = 8, face = 'bold'))
Claramente se observa que el municipio de Medellín tuvo un mayor número de créditos. Esto se puede observar igualmente mediante una tabla:
datatable(P3.1)
El término distrito es usado en Colombia para definir a las entidades territoriales de segundo nivel (municipios) dotadas de un régimen legal, político, fiscal y administrativo independiente, con características especiales que las destaca o diferencia de las demás en cuanto a su economía, sus recursos, su cultura o su papel administrativo y geográfico. Fuente: https://es.wikipedia.org/wiki/Distritos_de_Colombia#cite_note-1. Estos son:
P4.1 <- datos %>%
select(Colocacion, Municipio.Colocacion.de.Credito) %>%
filter(Municipio.Colocacion.de.Credito %in% c('SANTAFE DE BOGOTA D.C.', 'BARRANQUILLA', 'BUENAVENTURA', 'CARTAGENA DE INDIAS', 'SANTA MARTA', 'RIOHACHA') & Colocacion != 0)
ggplot(data = P4.1, aes(x = Colocacion, fill = Municipio.Colocacion.de.Credito, color = Municipio.Colocacion.de.Credito)) +
geom_histogram(position = 'identity', alpha = 0.5) + facet_wrap(~ Municipio.Colocacion.de.Credito) +
labs(x = 'Valor del cr\u00E9dito solicitado', y = 'Frecuencia') +
theme_classic() + theme(legend.position = 'none') +
theme(axis.text = element_text(size = 8), axis.title = element_text(size = 14, face = 'bold'))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Subregiones es el nombre con el cual se conoce a las subdivisiones territoriales que conforman el departamento colombiano de Antioquia. En total son 9 subregiones que no son relevantes en términos de gobierno, y que fueron creadas para facilitar la administración del departamento, en las que se agrupan los 125 municipios, incluyendo el Área metropolitana del Valle de Aburrá. Fuente: https://es.wikipedia.org/wiki/Subregiones_de_Antioquia.
P5.1 <- datos %>%
filter(Valor.Inversion != 0 & Colocacion != 0 & Departamento.Inversion == 'ANTIOQUIA' & Municipio.Inversion %in% c('CAUCASIA', 'CACERES', 'EL BAGRE', 'NECHI', 'TARAZA', 'ZARAGOZA')) %>%
mutate(Subregion.Inversion = 'Bajo Cauca') %>%
select(Valor.Inversion, Colocacion, Subregion.Inversion)
P5.2 <- datos %>%
filter(Valor.Inversion != 0 & Colocacion != 0 & Departamento.Inversion == 'ANTIOQUIA' & Municipio.Inversion %in% c('CARACOLI', 'MACEO', 'PUERTO BERRIO', 'PUERTO NARE', 'PUERTO TRIUNFO', 'YONDO')) %>%
mutate(Subregion.Inversion = 'Magdalena Medio') %>%
select(Valor.Inversion, Colocacion, Subregion.Inversion)
P5.3 <- datos %>%
filter(Valor.Inversion != 0 & Colocacion != 0 & Departamento.Inversion == 'ANTIOQUIA' & Municipio.Inversion %in% c('AMALFI', 'ANORI', 'CISNEROS', 'REMEDIOS', 'SAN ROQUE', 'SANTO DOMINGO', 'SEGOVIA', 'VEGACHI', 'YALI', 'YOLOMBO')) %>%
mutate(Subregion.Inversion = 'Nordeste') %>%
select(Valor.Inversion, Colocacion, Subregion.Inversion)
P5.4 <- datos %>%
filter(Valor.Inversion != 0 & Colocacion != 0 & Departamento.Inversion == 'ANTIOQUIA' & Municipio.Inversion %in% c('ANGOSTURA', 'BELMIRA', 'BRICEÑO', 'CAMPAMENTO', 'CAROLINA', 'ENTRERRIOS', 'GOMEZ PLATA', 'GUADALUPE', 'ITUANGO', 'SAN ANDRES DE CUERQUIA', 'SAN JOSE DE LA MONTANA', 'SAN PEDRO DE LOS MILAGROS', 'SANTA ROSA DE OSOS', 'TOLEDO', 'VALDIVIA', 'YARUMAL')) %>%
mutate(Subregion.Inversion = 'Norte') %>%
select(Valor.Inversion, Colocacion, Subregion.Inversion)
P5.5 <- datos %>%
filter(Valor.Inversion != 0 & Colocacion != 0 & Departamento.Inversion == 'ANTIOQUIA' & Municipio.Inversion %in% c('ABRIAGUI', 'ANZA', 'ARMENIA', 'BURITICA', 'CAICEDO', 'DABEIBA', 'EBEJICO', 'FRONTINO', 'GIRALDO', 'HELICONIA', 'LIBORINA', 'OLAYA', 'PEQUE', 'SABANALARGA', 'SAN JERONIMO', 'SANTA FE DE ANTIOQUIA', 'SOPETRAN', 'URAMITA')) %>%
mutate(Subregion.Inversion = 'Occidente') %>%
select(Valor.Inversion, Colocacion, Subregion.Inversion)
P5.6 <- datos %>%
filter(Valor.Inversion != 0 & Colocacion != 0 & Departamento.Inversion == 'ANTIOQUIA' & Municipio.Inversion %in% c('ABEJORRAL', 'ALEJANDRIA', 'ARGELIA', 'CARMEN DE VIBORAL', 'COCORNA', 'CONCEPCION', 'EL PEÑOL', 'RETIRO', 'SANTUARIO', 'GRANADA', 'GUARNE', 'GUATAPE', 'LA CEJA', 'LA UNION', 'MARINILLA', 'NARIÑO', 'RIONEGRO', 'SAN FRANCISCO', 'SAN LUIS', 'SAN RAFAEL', 'SAN VICENTE FERRER', 'SONSON')) %>%
mutate(Subregion.Inversion = 'Oriente') %>%
select(Valor.Inversion, Colocacion, Subregion.Inversion)
P5.7 <- datos %>%
filter(Valor.Inversion != 0 & Colocacion != 0 & Departamento.Inversion == 'ANTIOQUIA' & Municipio.Inversion %in% c('AMAGA', 'ANDES', 'ANGELOPOLIS', 'BETANIA', 'BETULIA', 'CARAMANTA', 'CIUDAD BOLIVAR', 'CONCORDIA', 'FREDONIA', 'HISPANIA', 'JARDIN', 'JERICO', 'LA PINTADA', 'MONTEBELLO', 'PUEBLORRICO', 'SALGAR', 'SANTA BARBARA', 'TAMESIS', 'TARSO', 'TITIRIBI', 'URRAO', 'VALPARAISO', 'VENECIA')) %>%
mutate(Subregion.Inversion = 'Suroeste') %>%
select(Valor.Inversion, Colocacion, Subregion.Inversion)
P5.8 <- datos %>%
filter(Valor.Inversion != 0 & Colocacion != 0 & Departamento.Inversion == 'ANTIOQUIA' & Municipio.Inversion %in% c('APARTADO', 'ARBOLETES', 'CAREPA', 'CHIGORODO', 'MURINDO', 'MUTATA', 'NECOCLI', 'SAN JUAN DE URABA', 'SAN PEDRO DE URUBA', 'TURBO', 'VIGIA DEL FUERTE')) %>%
mutate(Subregion.Inversion = 'Urabá') %>%
select(Valor.Inversion, Colocacion, Subregion.Inversion)
P5.9 <- datos %>%
filter(Valor.Inversion != 0 & Colocacion != 0 & Departamento.Inversion == 'ANTIOQUIA' & Municipio.Inversion %in% c('BARBOSA', 'BELLO', 'CALDAS', 'COPACABANA', 'ENVIGADO', 'GIRARDOTA', 'ITAGUI', 'LA ESTRELLA', 'MEDELLIN', 'SABANETA')) %>%
mutate(Subregion.Inversion = 'Valle de Aburrá') %>%
select(Valor.Inversion, Colocacion, Subregion.Inversion)
P5.10 <- rbind(P5.1, P5.2, P5.3, P5.4, P5.5, P5.6, P5.7, P5.8, P5.9)
ggplot(data = P5.10, aes(x = Valor.Inversion, y = Colocacion, fill = Subregion.Inversion, color = Subregion.Inversion)) +
geom_point(aes(colour = Subregion.Inversion), size = 4) +
labs(x = 'Valor de la inversi\u00F3n', y = 'Valor del cr\u00E9dito solicitado') +
scale_x_continuous(limit = c(0, 4.0e+10)) + theme_classic() + theme(legend.position = 'bottom') +
theme(legend.direction = 'horizontal') + theme(legend.title = element_text(colour = 'black', size = 8, face ='bold')) +
theme(legend.text = element_text(colour = 'gray44', size = 8, face = 'bold')) +
theme(axis.text = element_text(size = 8), axis.title = element_text(size = 14, face = 'bold'))
## Warning: Removed 4 rows containing missing values (geom_point).
La respuesta a la pregunta anterior es SI, puesto que en la gráfica se observa que a medida que aumenta valor del crédito solicitado, mayor es el valor de la inversión.