library(learnr) knitr::opts_chunk$set(echo = FALSE) library(dplyr) library(ggplot2) library(readxl) library(readr) library(janitor) library(lubridate) library(tidyr) library(janitor) temp = tempfile(fileext = ".xlsx") dataURL <- "https://storage.googleapis.com/datos_cursos/SICOP_2.xlsx" download.file(dataURL, destfile = temp, mode = 'wb') SICOP_2 <- readxl::read_excel(temp) SICOP <- SICOP_2 %>% slice_head(n = 1000) %>% mutate(Fecha_Hora = dmy_hms(Fecha_notificacion)) %>% separate(Fecha_Hora, c("fecha", "hora"), sep = " ") %>% mutate(fecha = as.Date(fecha)) %>% mutate(mes_dia = format(fecha, '%m-%d')) %>% clean_names()
knitr::include_graphics( "https://storage.googleapis.com/datos_cursos/ixpantia_introR/ixpantia_logo.png" )
El conjunto de datos que se usaran en la sesión se llama SICOP y contiene información de compras públicas en Costa Rica en el 2019. Tiene 1000 observaciones y 21 variables.
glimpse(SICOP)
Descripción de las columnas:
| Variable | Descripción |
| :----------------------:| :--------------------------------------------------------:|
| no
| Número de compra |
| fecha_notificacion
| Fecha y hora en la que se publica la posible compra |
| descripcion
| Descripción de la compra realizada |
| numero_procedimiento
| Identificador del procedimiento |
| institucion
| Institución pública que realizó la compra |
| numero_contrato
| Identificador del contrato |
| adjudicatario
| Proveedor del producto |
| cedula_adjudicatario
| Cédula jurídica o física del proveedor |
| moneda
| Moneda en la que se hizo la compra |
| monto
| Monto cancelado por la compra |
| modificaciones
| Indica si se hicieron modificaciones a la compra original |
| vigencia_contrato
| Meses de vigencia del contrato |
| clasificacion_objeto
| Clasificación del producto comprado |
| tipo_modalidad
| Tipo de la modalidad de la compra |
| tipo_procedimiento
| Tipo de procedimiento de la compra |
| firma_contrato
| Fecha en la que se firmó el contrato de la compra |
| moneda_monto_estimado
| Moneda en la que está el monto estimado de la compra |
| monto_estimado
| Monto estimado de la compra |
| fecha
| Fecha en la que se realiza la compra |
| hora
| Hora a la que se realiza la compra |
| mes_dia
| Mes y día donde se realiza la compra |
geom_point()
y geom_jitter()
?Dos de los geom
que hemos visto son geom_point()
y geom_jitter()
, ambos
parecen hacer gráficos de puntos, sin embargo, hay algo que los hace
completamente diferentes. Viendo el siguiente gráfico, cuál diría que es
esta diferencia?
check <- ggplot(data = SICOP, aes(x = tipo_procedimiento, y = fecha)) + coord_flip() check + geom_point() check + geom_jitter()
question("¿Cuál es la diferencia entre `geom_point()` y `geom_jitter()`?", answer("geom_jitter hace columnas no puntos"), answer("geom_jitter agrega un poco de variacion aleatoria entre los puntos para evitar la sobreposicion", correct = TRUE), answer("geom_point es más ordenado ya que hace un espaciamiento uniforme entre los puntos"), answer("geom_point se ve mejor"), incorrect = "Incorrecto", correct = "Correcto")
Haga un gráfico de puntos donde en el eje x esté la variable mes_dia
y en el
eje y: monto
y luego agréguele un abline en "2e+08"
ggplot(data = SICOP)
ggplot(data = SICOP, aes(x = mes_dia, y = monto)) + geom_point() + geom_abline(intercept = 2e+08)
Hemos trabajado con geom_bar()
anteriormente para hacer gráficos de barras.
Ahora haga un gráfico de barras con clasificacion_objeto
en el eje x
y
tipo_modalidad
en el fill
y en position
primero utilice "fill" y luego
haga otro con position = "stack"
para ver la diferencia entre ambos.
ggplot(SICOP)
ggplot(SICOP, aes(x = clasificacion_objeto, fill = tipo_modalidad)) + geom_bar(position = "fill")
ggplot(SICOP)
ggplot(SICOP, aes(x = clasificacion_objeto, fill = tipo_modalidad)) + geom_bar(position = "stack")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.