Cristian Benalcázar
11-10-2017
Productos de datos son el resultado de un análisis de datos.
Ejemplo:
Un análisis de datos podría generar algoritmo que calcule un score para un grupo de posibles clientes.
Producto de datos:
Estáticos
Productos que no permiten modificar tipo de visualización
Dinámicos
Productos que permiten modificar el tipo de visualización, además de cambiar el tipo de gráfico, permiten añadir nuevas variables, nuevos registros, realizar filtros, actualizar y consolidar los resultados, etc.
Potencial y ventajas de R se incorporan directamente a nuestros productos de datos.
Facilidad, dentro de lo necesario para desarrollar productos de datos se incluye HTML, Javascript, D3, Web Services, etc. etc.
Con las herramientas que estudiaremos podemos generar productos finales o podemos usarlas como herramientas prototipo antes de construir un desarrollo más grande en dependencia de nuestras necesidades.
library(xlsx)
exportar <- function(datos, archivo){
wb <- createWorkbook(type="xlsx")
# Estilos de celdas
# Estilos de titulos y subtitulos
titulo <- CellStyle(wb)+ Font(wb, heightInPoints=16, isBold=TRUE)
subtitulo <- CellStyle(wb) + Font(wb, heightInPoints=12,
isItalic=TRUE, isBold=FALSE)
# Estilo de tablas
filas <- CellStyle(wb) + Font(wb, isBold=TRUE)
columnas <- CellStyle(wb) + Font(wb, isBold=TRUE) +
Alignment(vertical="VERTICAL_CENTER",wrapText=TRUE, horizontal="ALIGN_CENTER") +
Border(color="black", position=c("TOP", "BOTTOM"),
pen=c("BORDER_THICK", "BORDER_THICK"))+Fill(foregroundColor = "lightblue", pattern = "SOLID_FOREGROUND")
# Crear una hoja
sheet <- createSheet(wb, sheetName = "Información - R Users Group - Ecuador")
# Funcion linea (agregar texto)
linea<-function(sheet, rowIndex, title, titleStyle){
rows <- createRow(sheet, rowIndex=rowIndex)
sheetTitle <- createCell(rows, colIndex=1)
setCellValue(sheetTitle[[1,1]], title)
setCellStyle(sheetTitle[[1,1]], titleStyle)
}
# Agregamos titulos, subtitulos, etc.
linea(sheet, rowIndex=8,
title=paste("Fecha:", format(Sys.Date(), format="%Y/%m/%d")),
titleStyle = subtitulo)
linea(sheet, rowIndex=9,
title="Elaborado por: R Users Group - Ecuador",
titleStyle = subtitulo)
linea(sheet, rowIndex=11,
paste("Información de prueba"),
titleStyle = titulo)
# Tablas
addDataFrame(datos,
sheet, startRow=13, startColumn=1,
colnamesStyle = columnas,
rownamesStyle = filas,
row.names = F)
# Ancho de columnas
setColumnWidth(sheet, colIndex=c(1:ncol(datos)), colWidth=15)
# Imagen Cambia la ruta por la que de tu imagen
addPicture("C:/final5x5.png", sheet, scale=0.75, startRow = 1, startColumn = 1)
# Guardar
saveWorkbook(wb, archivo)
}
exportar(mtcars, "R Users Group - Ecuador - mtcars.xlsx")
Con lo cual vamos a obtener un archivo excel como este:
Presentación actual
Presentación BI - R Users Group - Ecuador
Dashboard reactivos - R Users Group - Ecuador
Análisis completamente replicable -captura de datos, limpieza, procesamiento y resultados-.
Debe incluir descripción, objetivos, etc.
Markdown es un lenguaje de marcado ligero parecido al que se emplea en muchas wikis y basado originalmente en convenciones existentes en el marcado de los correos electronicos. Emplea texto plano, procurando que sea legible pero consiguiendo que se convierta en XHTML correctamente formateado.
Ejecución programada de scripts R.
Rscript.exe --vanilla --save script.r
Windows - batch y tareas automáticas
"C:\Program Files\R\R-3.4.1\bin\Rscript.exe" --vanilla --save "C:\automaticos\script.r"
Linux - crontab
30 20 * * * R CMD BATCH /automaticos/script.r
Shiny es una paquete de R con el cual podemos crear aplicaciones web interactivas (apps) que permiten a los usuarios interactuar con sus datos sin tener que manipular el código.
No hace falta conocimiento de HTML o JavaScript, solo conocer R.
install.packages("shiny")
library(shiny)
La aplicación tiene 3 componentes:
UI : Interfaz de usuario, controla el diseño, entradas y salidas de la aplicación.
SERVER : Fuciones, cálculos, resultados, etc., contiene las instrucciones necesarias para el funcionamiento de la aplicación.
GLOBAL : Data - puede omitirse y colocarse antes del resto de componentes.
Comprensión y práctica
runExample("01_hello")
“01_hello”
“02_text”
“03_reactivity”
“04_mpg”
“05_sliders”
“06_tabsets”
“07_widgets”
“08_html”
“09_upload”
“10_download”
“11_timer”