Mapas estáticos municipales para estados de México. Con R y con Excel

Podemos pintar mapas municipales de México con la ayuda de R y Excel. Esta entrada está en la línea de otra anterior para hacer esta misma tarea con mapas de España. Disponemos de los datos en Excel y tenemos instalado R y la librería sp. El objeto R con los mapas de México lo podemos encontrar en http://www.gadm.org/country; seleccionamos México y R Spatial Poligons Data Frame, y debemos descargarnos el objeto de nivel 2. Comenzamos el trabajo con R: ...

20 de marzo de 2015 · rvaquerizo

Trucos Excel. Repetir filas con DESREF

En respuesta a una cuestión planteada por una lectora en una entrada muy parecida a esta, podemos usar la función de Excel DESREF para repetir registros el número de veces que deseemos. Como sabemos, DESREF parte desde una celda referenciada y nos movemos filas y columnas en función de los parámetros. La sintaxis es DESREF(CELDA_DE_REFERENCIA; FILA; COLUMNA); de modo que si ponemos DESREF(A1; 0; 1) haremos referencia a la celda B1, o bien si ponemos DESREF(A1; 1; 0) hará referencia a la celda A2. Para repetir, lo que haremos será algo de este estilo: ...

23 de febrero de 2015 · rvaquerizo

Mapas municipales de España en R, con la ayuda de Excel

Escribir sobre el BDT de Madrid me ha hecho recordar mi trabajo con spatial data de R. Los mapas de spatial data los podemos obtener de forma gratuita de http://www.gadm.org/country y, en este caso, vamos a descargarnos para España un SpatialPolygonsDataFrame específico para R de nivel 4, que está a nivel municipal. El archivo que os debéis descargar se llamará ESP_adm4.RData. Si buscáis un poco en Google encontraréis documentación acerca de este tipo de archivos de R y veréis que se pueden hacer maravillas. En este caso, quiero hacer un ejemplo lo más sencillo posible, muy artesanal y casero. Con un poco de imaginación podréis complicarlo o incluso hacer una herramienta en Excel que hiciera mapas con R. ...

20 de febrero de 2015 · rvaquerizo

Trucos SAS. Calcular percentiles como Excel o R

Alguna vez habréis calculado un percentil en Excel o en R y os saldrá distinto de SAS. Esto se debe a que los métodos de cálculo son distintos; tanto R como Excel utilizan el mismo método consistente en una interpolación en función de la distancia entre los registros que dan la posición del percentil. SAS dispone de 5 métodos distintos para calcular el percentil y por defecto emplea el número 5, y ninguno de los 4 métodos restantes es el que utilizan R o Excel. Pero podemos programar el método de un modo sencillo; cuesta más entender por qué no lo implementa SAS que calcularlo. A continuación tenéis una sencilla macro que calcula el percentil con el método de Excel: ...

16 de febrero de 2015 · rvaquerizo

Truco Excel. Gráfico de puntos con colores

Un gráfico de dispersión en Excel en el que los puntos puedan ser identificados si pertenecen a un grupo. Es una duda que plantearon hace unos días en el blog. Con otras herramientas es bastante sencillo, pero en el caso de Excel, la tarea no es tan evidente. Para poder hacer gráficos de este tipo, he construido una macro que podéis utilizar si previamente la adaptáis a vuestros datos. El código que podéis adaptar una vez hayáis creado vuestro gráfico de dispersión es: ...

21 de enero de 2015 · rvaquerizo

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

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

Medir la importancia de las variables en una red neuronal con R

Sigo a vueltas con esta gran web y hoy vamos a medir la importancia de las variables en una red neuronal. Al igual que sucede en un modelo de regresión, los parámetros obtenidos pueden servirnos para determinar la importancia de una variable dentro del modelo. En el caso de una red neuronal, los pesos de la red pueden ser utilizados para determinar cómo influye una variable en el modelo. Para ilustrar este tipo de tareas, el gran @beckmw realizó esta entrada: ...

29 de septiembre de 2014 · rvaquerizo

Determinar la distribución de un vector de datos con R

Para determinar la distribución que sigue un vector de datos en R, contamos con el paquete rriskDistributions. Este paquete de R nos permite realizar un test para las distribuciones siguientes: Normal Logística Uniforme Gamma Lognormal Weibull Cauchy Exponencial Chi-cuadrado F T-Student Todos aquellos que estén trabajando con los modelos de supervisión de riesgos seguramente conocerán este paquete y, si no lo conocen, espero que lean estas líneas porque pueden ser de mucha ayuda para ellos; aunque se trate de software libre, no pasa nada, no receléis de R. La sintaxis es tan sencilla que se puede resumir en: ...

22 de mayo de 2014 · rvaquerizo

Trucos SAS. Calcular una edad

No penséis que restar dos fechas y obtener una diferencia en años entre ellas es un tema baladí. Ejecutad el siguiente código SAS para calcular la diferencia en años: data uno; format fecha1 ddmmyy10.; do fecha1 = 9000 to today(); output; end; run; data uno_edad; set uno; format fecha2 ddmmyy10.; fecha2 = "15MAY2014"d; edad = int((fecha2 - fecha1) / 365.25); run; data uno_filtro; set uno_edad; if month(fecha1) = 5 and day(fecha1) = 15; run; Visualizad el conjunto de datos uno_filtro; la serie de edad asusta: 28, 28, 27, 25, 24, 24… Está claro que algo falla. Hace ya tiempo que hablamos de ello en este mismo blog. Los ceros y los unos con los que guardan estas máquinas las cosas a veces nos juegan estas malas pasadas. Para evitar este problema, os sugiero que empleéis la función de SAS YRDIF con la base 'AGE'. Replicamos el ejemplo: ...

14 de mayo de 2014 · rvaquerizo