Truco Excel. Formatos condicionales para crear rango de colores

Un truco de Excel poco ortodoxo: aprovechar los colores que nos ofrece un formato condicional sin necesidad de emplear el formato condicional para crear un rango de colores. Parece un trabalenguas, pero puede ser muy útil cuando trabajamos con Visual Basic. En mi caso particular es muy útil disponer de estas paletas de colores para hacer mapas mucho más vistosos. El truco es muy sencillo: empezamos por escribir números del 1 hasta el número de colores que deseamos y elegimos el formato condicional a aplicar: ...

15 de enero de 2015 · rvaquerizo

Tipos de merge con SAS o WPS

Una chuleta con los tipos de MERGE que se pueden hacer en un paso DATA con SAS: Para aquellos que empiezan a trabajar con SAS será de mucha utilidad. Un saludo.

23 de diciembre de 2014 · rvaquerizo

Determinar el mímino tamaño muestral para detectar un cambio en la fracción no conforme

Este año he aprendido algo sobre metodología 6 sigma para el control de la calidad; me gustó mucho lo que aprendí. Para la realización de algunos ejercicios, creé libros de Excel y algún proceso SAS. Hoy quería traeros al blog una macro de SAS que nos permite determinar el tamaño mínimo muestral para detectar un cambio en la fracción no conforme con una determinada probabilidad. El programa es un bucle de SAS que crea los límites de control para la fracción no conforme y estandariza la diferencia del límite superior con la nueva fracción no conforme. Se calcula la probabilidad que deja este dato estandarizado y el paso del bucle será el número mínimo de muestras. Es más sencillo el código que la definición: ...

18 de diciembre de 2014 · rvaquerizo

Truco R. Añadir una marca de agua a nuestro gráfico con ggplot2

Un breve truco que tenía en la nevera: añadir marcas de agua a los gráficos de R realizados con ggplot2. Quería dedicar una serie de monográficos a las marcas de agua y al final nunca acabé. Para ilustrar el ejemplo, vamos a graficar la serie de visitas a esta web que nos ha dado Google Analytics: # Objeto con las visitas visitas <- c(213, 376, 398, 481, 416, 505, 771, 883, 686, 712, 883, 993, 1234, 1528, 1965, 1676, 1037, 1487, 1871, 2725, 2455, 2856, 2868, 2809, 3326, 4284, 4599, 3863, 3778, 5090, 5510, 5911, 4460, 5495, 5290, 6407, 5619, 6494, 5854, 4940, 4735, 6049, 6839, 8695, 7112, 9207, 8991, 10909, 9647, 10943, 9819, 8982, 8597, 10004, 12550, 12025, 9108, 10664, 9563, 9751, 11402, 11875, 10395, 10078, 8706, 10893, 13197, 12868, 9857, 12119, 13421, 14411, 12820, 14443, 12713, 13869, 11740, 14887, 17021, 16827) serie <- ts(visitas, start = c(2008, 4), end = c(2014, 11), frequency = 12) Hemos creado un objeto serie temporal del tipo ts y aprovecho esta entrada para contaros cómo transformar un objeto ts en un data frame. Recordamos que ggplot2 no puede graficar objetos ts directamente (por lo menos hasta donde yo sé). Para la transformación del objeto emplearemos la función index del paquete zoo y mi querida función melt de reshape2: ...

17 de diciembre de 2014 · rvaquerizo

PROC FCMP para crear funciones en SAS

Unas pinceladas del PROC FCMP para SAS. Este procedimiento nos permite crear nuestras propias funciones que posteriormente podremos utilizar en nuestras sesiones. He programado mucho en SAS y tengo que decir que no utilizo mucho este procedimiento por la propia filosofía de la herramienta: al final siempre se tiende a crear una macro antes que una función. Pero hay que reconocer que el lenguaje macro de SAS en ocasiones no es sencillo y muchos olvidamos que existe el PROC FCMP. ...

28 de octubre de 2014 · rvaquerizo

V de Cramer con R. Analizar la correlación de factores

Cómo calcular la V de Cramer con R, una pregunta que me han hecho recientemente. Sirve para medir la asociación entre factores. Además, esta entrada es útil para retomar el paquete vcd de R que nos permite analizar y Visualizar Categorical Data. Partimos de un ejemplo muy sencillo: datos = read.csv("http://www.businessandeconomics.mq.edu.au/our_departments/Applied_Finance_and_Actuarial_Studies/acst_docs/glms_for_insurance_data/data/car.csv") summary(datos) tabla = ftable(as.factor(datos$agecat), datos$area, dnn = c("Edad", "Valor")) library(vcd) assocstats(tabla) Desconozco si existe una función que nos presente una matriz con las distintas medidas de asociación. Pero la función assocstats del paquete vcd nos ofrece: ...

8 de octubre de 2014 · rvaquerizo

Mapa del mundo en Excel

Un mapa del mundo en Excel preparado para poner datos de la Base de Datos de la UNESCO. Está sacado de una web, cuando encuentre el link os lo pongo porque lo he perdido. Además al César lo que es del César. Sobre el fichero Excel que me descargué realicé diversas modificaciones para mejorar los resultados y darle simplicidad. Hay una hoja de datos que es donde debéis pegar los datos (preferiblemente); por otro lado está la hoja “Mapa” que contiene el mapa sobre el que podéis realizar las modificaciones. En esta hoja están los datos sobre los que se hace la jerarquía. La gama de colores que utiliza este mapa es de gris a rojo. Esto podéis cambiarlo vosotros mismos, en esta web se han dado pistas sobre cómo hacerlo. No es correcto darlo todo hecho pero jugando con formatos condicionales y con esas pistas podéis obtener un mapa espectacular. ...

30 de septiembre de 2014 · rvaquerizo

15 horas de introducción a machine learning

http://www.dataschool.io/15-hours-of-expert-machine-learning-videos/ Imprescindible.

25 de septiembre de 2014 · rvaquerizo

Haciendo ventanas con %WINDOW en SAS

No es habitual emplear SAS BASE para crear menús o ventanas, aunque con el PROC PMENU se han hecho maravillas. Hoy vamos a poner un ejemplo sencillo de uso de %WINDOW para hacer el menú más simple posible con SAS BASE: nuestro objetivo es consultar los datos de un cliente sobre una tabla. Creamos unos datos aleatorios para ilustrar el ejemplo y una macro para hacer consultas: data aleatorio(index = (id_cliente)); do id_cliente = 1 to 11000; importe = ranuni(56) * 450; output; end; run; %macro selecciona(cli=); proc sql; select a.* from aleatorio a where id_cliente = &cli.; quit; %mend; Partimos de una tabla con 2 variables, id_cliente e importe, y deseamos crear un menú en el que nos liste los datos para un id_cliente. Lo más sencillo que podemos hacer con SAS BASE es: ...

24 de septiembre de 2014 · rvaquerizo

Representación de redes neuronales con R

En la última entrada realizamos un modelo de regresión con redes neuronales. Hoy quería mostraros cómo representar gráficamente la red neuronal creada en esa entrada. A la modelización con redes neuronales siempre se le ha achacado un comportamiento de “caja negra”: nosotros pasamos unas variables de entrada por una capa oculta y obtenemos una salida. No hay parámetros ni inferencia sobre los mismos; no sabemos lo que hace la red por dentro. En el caso concreto de R y continuando con la entrada anterior, si hacemos summary(bestnn): ...

9 de septiembre de 2014 · rvaquerizo