Hace algunos días se me pidió realizar un an analisis historico-comparativo acerca del número de peticiones que recibe un servidor cloud aloja aplicaciones ERP. No está de más mencionar que el estudio debería ser tan minucioso como la fuente de información( en este caso, herramientas de monitoreo ) lo permitiera.
Para mi suerte, el conjunto de datos(dataset) recaudado por dichas herramientas de monitoreo estaba conformado por tan solo 23 variables y 5890 observaciones. Por esta razón, no fue necesario realizar demasiada limpieza y/o procesamiento a los datos antes de analizarlos con la ayuda de una gráfica.
Debido a que los datos con los que trabajé son confidenciales, he preparado un conjunto de datos un tanto similar al original con el propósito de llevar a cabo el presente ejercicio. Cabe reiterar que ambos, dataset y código fuente utilizados en esta práctica están disponibles para su descarga al final de esta entrada. Ejecutando el codigo a continuacion:
# Cargar librerias | |
library( package = 'ggplot2' ) | |
# Leer dataset | |
d_historico <- read.table( file = 'datafile' | |
, header = T | |
, sep = ',' | |
, colClasses = c('character','character','numeric') | |
) | |
# Crear grafica con ggplot | |
g_historico <- ( ggplot( data = d_historico | |
, aes( x = dia | |
, y = peticiones | |
, group = semana | |
, col = semana | |
) | |
) | |
+ geom_line() | |
+ geom_point() | |
+ theme_bw() | |
+ theme( legend.title = element_blank() | |
, axis.ticks = element_blank() | |
, legend.position = 'none' | |
) | |
+ labs( x = 'Dia' | |
, y = 'Peticiones' | |
) | |
) | |
# Mostrar grafica | |
plot( x = g_historico ) |
Se obtiene la siguiente gráfica, que, aun y cuando pudiera parecer adecuada para realizar un análisis comparativo, no posee un orden cronológico correcto:
No obstante, esto puede arreglarse fácilmente utilizando factores, es decir, objetos que representan variables categóricas( nominales u ordinales ) y que entre sus funcionalidades, ofrecen la posibilidad de manipular el orden en que deben ser analizados y/o presentados sus valores. Ejecutando el siguiente código y el código para crear la gráfica:
# Convirtiendo la variable dia a factor para asi manipular el orden en que se debe visualizada la variable dia | |
d_historico$dia <- factor( x = d_historico$dia | |
, levels = c('Lunes','Martes','Miercoles','Jueves','Viernes', 'Sabado','Domingo') | |
) | |
# Opcional: Revisando la estructura del factor | |
str( object = d_historico$dia ) |
Da como resultado una gráfica con un orden sucesivo, lista para ser examinada:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Cargar librerias | |
library( package = 'ggplot2' ) | |
# Leer dataset | |
d_historico <- read.table( file = 'datafile' | |
, header = T | |
, sep = ',' | |
, colClasses = c('character','character','numeric') | |
) | |
# Crear grafica con ggplot | |
g_historico <- ( ggplot( data = d_historico | |
, aes( x = dia | |
, y = peticiones | |
, group = semana | |
, col = semana | |
) | |
) | |
+ geom_line() | |
+ geom_point() | |
+ theme_bw() | |
+ theme( legend.title = element_blank() | |
, axis.ticks = element_blank() | |
, legend.position = 'none' | |
) | |
+ labs( x = 'Dia' | |
, y = 'Peticiones' | |
) | |
) | |
# Mostrar grafica | |
plot( x = g_historico ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Cargar librerias | |
library( package = 'ggplot2' ) | |
# Leer dataset | |
d_historico <- read.table( file = 'datafile' | |
, header = T | |
, sep = ',' | |
, colClasses = c('character','character','numeric') | |
) | |
# Crear grafica con ggplot | |
g_historico <- ( ggplot( data = d_historico | |
, aes( x = dia | |
, y = peticiones | |
, group = semana | |
, col = semana | |
) | |
) | |
+ geom_line() | |
+ geom_point() | |
+ theme_bw() | |
+ theme( legend.title = element_blank() | |
, axis.ticks = element_blank() | |
, legend.position = 'none' | |
) | |
+ labs( x = 'Dia' | |
, y = 'Peticiones' | |
) | |
) | |
# Mostrar grafica | |
plot( x = g_historico ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Cargar librerias | |
library( package = 'ggplot2' ) | |
# Leer dataset | |
d_historico <- read.table( file = 'datafile' | |
, header = T | |
, sep = ',' | |
, colClasses = c('character','character','numeric') | |
) | |
# Crear grafica con ggplot | |
g_historico <- ( ggplot( data = d_historico | |
, aes( x = dia | |
, y = peticiones | |
, group = semana | |
, col = semana | |
) | |
) | |
+ geom_line() | |
+ geom_point() | |
+ theme_bw() | |
+ theme( legend.title = element_blank() | |
, axis.ticks = element_blank() | |
, legend.position = 'none' | |
) | |
+ labs( x = 'Dia' | |
, y = 'Peticiones' | |
) | |
) | |
# Mostrar grafica | |
plot( x = g_historico ) |