De estadístico a minero de datos a científico de datos…

Hace unos meses estuve en un data beers que organizó Accenture que mas parecía una reunión de viejas glorias de Neo Metrics y hablé sobre la transformación de un dinosaurio a un científico de datos, por cierto, me llamó la atención como el resto de compañeros hicieron sus presentaciones con software del siglo pasado y eso que yo era el dinosaurio… Hoy ha salido una noticia sobre el uso de la información de Facebook para tarificar en seguros que define hacía donde quiero ir y los problemas con los que he de lidiar. Así que hoy voy a escribir sobre mi y la transformación del dinosaurio al científico de datos. ...

3 de noviembre de 2016 · rvaquerizo

Truco SAS. Limpieza de tabuladores con expresiones regulares

Un lector necesita eliminar tabuladores de una cadena de texto y no le están funcionando las funciones habituales, sugiero emplear expresiones regulares, en mi entorno de SAS si está funcionando: data ejemplo; input frase 50.; cards; Hola este es un ejemplo"""""" Hola es te es un ejemplo_________ Hola este es un ejemplo++++++++ ; run; data ejemplo; set ejemplo; call prxchange(prxparse('s/([A-ZÑa-zñ 0-9]*)([^A-Za-zÑñ 0-9]*)/1/'),-1,frase); run; Como se ve en el ejemplo también se carga los caracteres especiales, tened en cuenta eso. Saludos.

3 de noviembre de 2016 · rvaquerizo

Jueves 13 de octubre nueva reunión del Grupo de usuarios de R de Madrid

Para más información: http://madrid.r-es.org/38-jueves-13-de-octubre-2016/ Si no llueve (cosas de las motos) por allí me veréis.

11 de octubre de 2016 · rvaquerizo

Truco Excel. Pasar un rango de varias columnas a una

Macro de Excel que nos permite pasar de varias columnas a una sola. De momento no es una función, es un código que sorprende por su sencillez: Sub rango_columnas() Dim rango As Variant Dim i As Long, j As Long, k As Long Dim col As Long rango = Selection.Value 'Esta es la parte que permite ubicar la salida col = Selection.Column k = Selection.Row 'Esto recorre el rango y realiza la trasposición For i = 1 To UBound(rango, 1) For j = 1 To UBound(rango, 2) Cells(k, col + UBound(rango, 2)).Value = rango(i, j) k = k + 1 Next Next End Sub Este código lo ponéis tal cual en vuestro Excel y os ilustro a continuación sobre su funcionamiento. Lo primero es seleccionar el rango de columnas que deseamos transponer: ...

5 de octubre de 2016 · rvaquerizo

Cuando te sale un modelo

Modelo lineal siempre…

30 de septiembre de 2016 · rvaquerizo

Macro SAS. Crear variables dummy desde una variable categórica

En alguna ocasión ya he conjugado el verbo dumificar y preparando una segmentación he creado una macro SAS que genera variables dummy a partir de variables categóricas, es decir, si la variable A toma valores 1, 2 y 3 tendría que generar A_1 con valor 1 si A toma 1 y con valor 0 en caso contrario, A_2 tiene valor 1 si A es igual a 2 y A_3 tiene valor 1 si A es igual a 3, no es complicado de comprender, pasamos de una variable con 3 niveles a 3 variables con valores 0 o 1. Para esto podemos emplear arrays o la siguiente macro: ...

2 de diciembre de 2015 · rvaquerizo

Truco Excel. Función para identificar el color de una celda

En alguna entrada anterior ya vimos como identificar el color de una celda con Excel. Recientemente me trasladaron una duda, se trataba de realizar una acción determinada si el color de la celda era distinto. Algo muy habitual cuando realizas alguna validación visual y marcas celdas con otro color. La solución es sencilla, se trata de crear nuestra propia función que identifique el color de la celda: Function color_celda(celda As Range) color_celda = celda.Interior.Color End Function En este caso podríamos realizar funciones del tipo =SI(color_celda(A1)<> 16777215; ACCION1; ACCION2) además podemos darle otra vuelta de tuerca y si deseamos ordenar por colores podemos hacer: ...

1 de diciembre de 2015 · rvaquerizo

Truco SAS. Identificar el lunes de cada semana para clasificar por semanas

El otro día una lectora preguntaba una duda, quería encontrar el lunes dentro de un conjunto de fechas con el objetivo de clasificar semanas. Para realizar esta tarea contamos con la función WEEKDAY de SAS que nos permite numerar los días de la semana donde el domingo es el primer día de la semana. De este modo hay que restar los días necesarios para llegar al día 2 de la semana. Lo vemos con un ejemplo: ...

10 de noviembre de 2015 · rvaquerizo

Truco Excel. Insertar imágenes con Visual Basic

Si deseáis insertar una imagen en Excel desde Visual Basic mediante una macro tenéis que ejecutar un código similar a este: Sub inserta_imagen(hoja) Sheets(hoja).Select ActiveSheet.Pictures.Insert("C:\grafico.png").Select With Selection.ShapeRange .Top = Range("B5").Top .Left = Range("B5").Left End With End Sub En una hoja de vuestro libro de Excel insertáis el archivo especificado. Luego lo ubicáis donde sea necesario. En el ejemplo que os he puesto en la celda B5. Truco sencillo, saludos.

15 de septiembre de 2015 · rvaquerizo

Truco Excel. Gráficos de dispersión que identifican los puntos

Yo no sé hacergráficos de dispersión con Excel en los que se identificaran los puntos mediante un color, es necesario programar en visual basic para hacerlo. Imagino que se podrá hacer de forma más elegante pero hoy quería mostraros que esa tarea se puede llevar a cabo mediante macros. Los datos que tenemos tienen un valor para X, un valor para Y y un valor que nos identifica el grupo de cada registro. En el ejemplo que os voy a adjuntar se identifican dentro de la nube de puntos aleatorios 2 grupos marcados con un 0 o un 1, por lo cual tendremos 2 colores para identificar esos puntos. ¿Cómo variamos los colores? Sencillo, una macro recorre punto a punto y pone otro color si pertenece al grupo 1, los que pertenezcan al grupo 0 tendrán el color por defecto. Este color por defecto será el negro y el color para los 1 será el rojo. El código de la macro es: ...

28 de julio de 2015 · rvaquerizo