##A. ¿Cuáles fueron las 10 instituciones con mayor Monto ejecutado/invertido/gastado en el año 2021? Y cual fue el monto ejecutado por cada institución.

##1.Se importan los datos desde la carpeta en que se aloja
library(readr)
contrataciones2021 <- read_delim("C:/Users/esteb/Downloads/contrataciones2021.csv", 
                                 delim = ";", escape_double = FALSE, col_types = cols(`Cédula adjudicatario` = col_character(), 
                                                                                      Monto = col_number(), `Monto estimado` = col_number()), 
                                 trim_ws = TRUE)

View(contrataciones2021) #Se visualiza la base de datos

summary(contrataciones2021) #Se da un resumen de todas las variables de la base de datos
problems(contrataciones2021) #Extrae los problemas de la base de datos

##2.Renombrar las variables
colnames(contrataciones2021) <- c("FechaNotificacion","Descripcion", 
                                  "NumeroProcedimiento", "Institucion", "NumeroContrato", "Adjudicatario", "CedulaAdjudicatario", 
                                  "Moneda", "Monto", "Modificaciones", "VigenciaContrato", "ClasificacionObjeto", "TipoModalidad", 
                                  "TipoProcedimiento", "FirmaContrato", "MonedaMontoEstimado", "MontoEstimado")

contrataciones2021 #Se observa las variabales renombradas

## 2.1. Verifico el nombre de las variables con diversas funciones

head(contrataciones2021)
View(contrataciones2021)
names(contrataciones2021)

##3. Instalación de los paquetes para manipular los datos  otros
install.packages("dplyr")
library(dplyr)

class(contrataciones2021$FechaNotificacion) #Reto en la base de datos: la fecha (dmy_hms)

install.packages("lubridate")
library(lubridate)

contrataciones2021$FechaNotificacion <- dmy_hms(contrataciones2021$FechaNotificacion)
class(contrataciones2021$FechaNotificacion) 
summary(contrataciones2021)

##4. Manipulación de los datos

##4.1 Uso de Pipeline para la confección de la tabla

Top10Instituciones <- contrataciones2021 %>% group_by(Institucion) %>% summarise(Monto=sum(Monto, na.rm = TRUE)) %>% arrange(desc(Monto)) %>% head(10)
Top10Instituciones
View(Top10Instituciones)

install.packages("DT")
tablaTop10Instituciones <- Top10Instituciones
DT:: datatable(tablaTop10Instituciones)

library(DT)
#Tabla 10 Instituciones y su monto ejecutado

JuveYell

##En cuanto a los resultados obtenidos en esta tabla podemos determinar que las 10 instituciones públicas con mayor gasto presentan cifras importantes, pues son un tanto elevadas. Es importante destacar que entre estas misma se presenta una gran diferencia, en cuanto a cifras, si observamos a la Universidad Estatal a Distancia y después a el Instituto Costarricense de Acueductos y Alcantarillados se puede notar con facilidad que la diferencia es importante. Para finalizar, llama especialmente la atención la presencia de una Municipalidad dentro de las instituciones con mayores montos ejecutados/invertidos/gastados.

#B.¿Cuál fue el Monto ejecutado en colones según tipo de contratación en el año 2021?

##1. Importación de los datos 

library (readr)
contrataciones2021 <- read_delim("contrataciones2021.csv", 
                                 delim = ";", escape_double = FALSE, col_types = cols(Monto = col_number(), 
                                                                                      `Monto estimado` = col_number()), 
                                 trim_ws = TRUE)
View(contrataciones2021)#para visualizar los datos
summary(contrataciones2021)#resumen de las variables

problems(contrataciones2021)

##2. Renombrar variables

colnames():= Función que renombra las variables
colnames(contrataciones2021) <- c("FechaNotificacion","Descripcion", 
                                  "NumeroProcedimiento", "Institucion", "NumeroContrato", "Ajudicatario", "CedulaAdjudicatario", 
                                  "Moneda", "Monto", "Modificaciones", "VigenciaContrato", "ClasificacionObjeto", "TipoModalidad", 
                                  "TipoProcedimiento", "FirmaContrato", "MonedaMontoEstimado", "MontoEstimado") 

### 2.1. Verifico el nombre de las variables con diversas funciones

contrataciones2021 #aquí pueden ver la base de datos con los nuevos nombres de encabezados

head(contrataciones2021)
View(contrataciones2021)
names(contrataciones2021)                                  

install.packages("lubridate")
library(lubridate)

class(contrataciones2021$FechaNotificacion) #Reto en la base de datos: la fecha (dmy_hms
contrataciones2021$FechaNotificacion <- dmy_hms(contrataciones2021$FechaNotificacion) 
class(contrataciones2021$FechaNotificacion) # "POSIXct" y "POSIXt":= Esta clase permite manejar la fecha y la hora... 
plot(contrataciones2021$FechaNotificacion) # gráficos de una variable
summary(contrataciones2021)

##3. Filtro y selección de los datos 

filtro1 <- filter(contrataciones2021, Moneda == "CRC")
seleccionM <- select(filtro1, TipoProcedimiento, Monto)

install.packages("Lock5Data")
library(Lock5Data)

##3. Visualización 

###3.1.  Visualización

library(ggplot2)

grafico <- data.frame(seleccionM)
ggplot(grafico, aes(x=Monto, y=TipoProcedimiento, fill=TipoProcedimiento))+geom_bar(stat = "identity")+theme_classic()+labs(title="Monto ejecutado en colones según tipo de contratación en el año 2021")
#Gráfico Monto Ejecutado

JuveYell

##Gráfico que demuestra el monto que se ejecutó en colones según el tipo de contratación, que en este caso es el tipo de procedimiento. Se evidenció que la licitación abreviada es el tipo de contratación que obtuvo mayor monto ejecutado y el de menor ejecución de monto fue la licitación píblica internacional.

#C. Total ejecutado mensulamente y su acumulado, en colones durante los doce meses del año 2021.

library(readr)
contrataciones2021 <- read_delim("C:/Users/esteb/OneDrive/Escritorio/contrataciones2021.csv", 
                                 delim = ";", escape_double = FALSE, col_types = cols(Monto = col_number(), 
                                                                                      `Monto estimado` = col_number()), 
                                 trim_ws = TRUE)
View(contrataciones2021)

summary(contrataciones2021)#resumen de las variables

problems(contrataciones2021)

#2. Renombrar variables:

colnames():= #Función que renombra las variables.
  
colnames(contrataciones2021) <- c("FechaNotificacion","Descripcion", 
                                    "NumeroProcedimiento", "Institucion", "NumeroContrato", "Adjudicatario", "CedulaAdjudicatario", 
                                    "Moneda", "Monto", "Modificaciones", "VigenciaContrato", "ClasificacionObjeto", "TipoModalidad", 
                                    "TipoProcedimiento", "FirmaContrato", "MonedaMontoEstimado", "MontoEstimado")

class(contrataciones2021$FechaNotificacion)

install.packages("lubridate")
library(lubridate)

summary(contrataciones2021)

#Manipulación de datos:

install.packages("dplyr")
library(dplyr)
install.packages("tidyverse")
install.packages("tibble")
library(tidyverse)
library(tibble)

#Paso 3
#Punto c) Muestrelo en una tabla el total ejecutado mensulmente y su acumulado, en colones durante los doce meses del año 2021.

install.packages("lubridate")
library(lubridate)

TablaNueva <- contrataciones2021 %>% separate(FechaNotificacion,into = c("Fecha","Hora"), sep=" ")
View (TablaNueva)
format(as.Date(dates,"%Y-%m"))

TablaNueva1 <- TablaNueva %>% separate(Fecha,into = c("Dia","Mes"), sep="/") #Separacion del dia del mes
View (TablaNueva1)

AgregarC <- mutate(TablaNueva1, PorcentajeAcumulado = (Monto/MontoEstimado)*100)
View(AgregarC)

SeleccionC <- select(AgregarC, Mes, Monto, MontoEstimado, PorcentajeAcumulado)
View(SeleccionC)

PruebaC<-SeleccionC%>%group_by(Mes)%>%summarise(Monto=sum(Monto, na.rm = TRUE),MontoEstimado=sum(MontoEstimado,na.rm = TRUE),PorcentajeAcumulado=sum(Monto/MontoEstimado,na.rm = TRUE)*100)
PruebaC
View(PruebaC)
 
install.packages("DT")
library(DT)

TablaMontos <- PruebaC
DT::datatable(TablaMontos)
#Tabla Montos Ejecutados

JuveYell

##Gracias al procedimiento realizado se logra evidenciar en la tabla el total que se ha ejecutado de manera mensual, en donde además, su acumulado se muestra en la columna del lado izquierdo con un monto en colones, producto de los doce meses del año 2021

#D.¿Cuáles fueron las 10 empresas(adjudicatarios) que más le vendieron al estado durante el año 2021?

##1.Se importan los datos desde la carpeta en que se aloja
library(readr)
contrataciones2021 <- read_delim("C:/Users/esteb/Downloads/contrataciones2021.csv", 
                                 delim = ";", escape_double = FALSE, col_types = cols(`Cédula adjudicatario` = col_character(), 
                                                                                      Monto = col_number(), `Monto estimado` = col_number()), 
                                 trim_ws = TRUE)

View(contrataciones2021) #Se visualiza la base de datos

summary(contrataciones2021) #Se da un resumen de todas las variables de la base de datos
problems(contrataciones2021) #Extrae los problemas de la base de datos

##2.Renombrar las variables
colnames(contrataciones2021) <- c("FechaNotificacion","Descripcion", 
                                  "NumeroProcedimiento", "Institucion", "NumeroContrato", "Adjudicatario", "CedulaAdjudicatario", 
                                  "Moneda", "Monto", "Modificaciones", "VigenciaContrato", "ClasificacionObjeto", "TipoModalidad", 
                                  "TipoProcedimiento", "FirmaContrato", "MonedaMontoEstimado", "MontoEstimado")

contrataciones2021 #Se observa las variabales renombradas

## 2.1. Verifico el nombre de las variables con diversas funciones

head(contrataciones2021)
View(contrataciones2021)
names(contrataciones2021)

##3. Instalación de los paquetes para manipular los datos  otros
install.packages("dplyr")
library(dplyr)

class(contrataciones2021$FechaNotificacion) #Reto en la base de datos: la fecha (dmy_hms)

install.packages("lubridate")
library(lubridate)

contrataciones2021$FechaNotificacion <- 
  dmy_hms(contrataciones2021$FechaNotificacion)
class(contrataciones2021$FechaNotificacion) 
summary(contrataciones2021)

##4. Manipulación de los datos

##4.1 Uso de Pipeline para la confección de la tabla

Top10Adjudicatarios <- contrataciones2021 %>% group_by(Adjudicatario) %>% summarise(Monto=sum(Monto, na.rm = TRUE)) %>% arrange(desc(Monto)) %>% head(10)
Top10Adjudicatarios
View(Top10Adjudicatarios)  


install.packages("DT") # Se instala paquete para crear una tabla más interactiva
library(DT)

TablaTop10Adjudicatarios <- Top10Adjudicatarios
DT::datatable(TablaTop10Adjudicatarios)
#Tabla 10 Adjudicatarios

JuveYell

##Tabla que muestra los 10 empresas que más le vendieron al estado costarricense durante el año 2021, donde se puede observar que la empresa que más monto se logro adjudicar fue la denominada I S PRODUCTOS DE OFICINA CENTROAMERICA SOCIEDAD ANONIMA.

##E.¿Cuáles fueron los 20 procedimientos con mayor diferencia negativa entre el monto presupuestao y el monto ejecutado? ¿A qué insituciones corresponden y a cuales adjudicatarios

##¿Cuales fueron los 20 procedimientos con mayor diferencia negativa entre el monto presupuestado y el monto ejecutad0?

installed.packages("dslabs")
library(readr)  # Se llama la libreria

##1. Se importan los datos desde la carpeta en que se encuentra. 

library (readr)
contrataciones2021 <- read_delim("C:/Users/esteb/Downloads/contrataciones2021.csv", 
                                 delim = ";", escape_double = FALSE, col_types = cols(`Cédula adjudicatario` = col_character(), 
                                                                                      Monto = col_number(), `Monto estimado` = col_number()), 
                                 trim_ws = TRUE)

View(contrataciones2021) # Se vizializan los datos importados. 

summary(contrataciones2021) # Se da un resumen de todas las variables de la base de datos

problems(contrataciones2021) # Muestra los problemas de la base de datos 

##2. Renombrar Las variables 
colnames(contrataciones2021)<- c("FechaNotificacion","Descripcion", "NumeroProcedimiento", "Institucion", "NumeroContrataciones","Adjudicatario", "CedulaAdjudicatario","Moneda","Monto","Modificaciones","VigenciaContrato","ClasificacionObjeto","TipoModalidad","TipoProcedimiento","FirmaContrato","MonedaMontoEstimado","MontoEstimado")

contrataciones2021 # Muestra la tabla con las variables renombradas

##2.1 Verifica el nombre de las variables a partir de diversas funciones. 

head(contrataciones2021)
View(contrataciones2021)
names(contrataciones2021)

##3. Instalación del paquete para manipulación de datos

install.packages("dplyr")

library(dplyr) #Para leer el paquete y manipular los datos

##4. Manipulación de datos

##4.1 Se crea una nueva columna que se llama DiferenciaMonto

AgregarE <- mutate(contrataciones2021,DiferenciaMonto=MontoEstimado-Monto) #Crear una nueva variable donde se produzca la diferencia de MontoEstimado menos el Monto

View(AgregarE) # Se visualiza la nueva columna de DiferenciaMonto en la tabla de contrataciones2021

nuevaE <- transmute(contrataciones2021, DiferenciaMonto = MontoEstimado-Monto) #Permite que solo quede la columna de diferencia. 

View(nuevaE) # Visualiza la columna de diferencia. 


##4.2 Se usa  Pipeline para confeccionar la tabla. 

Top20Procedimientos<- AgregarE %>% select(Institucion,Adjudicatario,Moneda,Monto,MonedaMontoEstimado,MontoEstimado,DiferenciaMonto)%>%arrange(DiferenciaMonto)%>%head(20) #Crea la tabla con las primeras 20 columnas que deben aparecer en forma ascendente. 

View(Top20Procedimientos) #Visualiza la tabla de los 20 Procedimientos.
install.packages("DT")
tablaTop20Procedimientos <- Top20Procedimientos
DT :: datatable(tablaTop20Procedimientos)
#Tabla 20 Procedimientos con Diferencia Negativa

JuveYell

#En la tabla anterior se puede observar que los primeros 3 procedimientos con mayor diferencia negativa entre el monto presupuestado (Monto Estimado) y el monto ejecutado (Monto) corresponden a la Refinadora Costarricense de Petróleo Sociedad Anónima (RECOPE), el Instituto Nacional de las Mujeres (INAMU) y el Banco Nacional de Costa Rica (BNCR), con sus siguientes respectivos adjudicatarios ING CONS SAS Sucursal Costa Rica, Saga Ingenieria Sociedad Anónima y Promoción de Mercadeo Internacional G & E Sociedad Anónima, además que tiene un gran diferencia con respecto al procedimiento número que que se corresponde a la Comisión Nacional de Prevención de Riesgos y Atención de Emergencias con el adjudicatario Asociación Camara de Productores de Caña del Pacífico, esto se puede confirmar porque el monto estimado es menor al monto y al realizar la diferencia (resta), esta queda de forma negativa, por ende el monto de la primera institución es mayor al monto de la fila 20, logrando que entre ellas haya una gran diferencia y que se logre este cuadro escalonado de forma ascendente.