Interpretación de los parámetros de un modelo GLM

Muchos estudiantes terminarán trabajando con GLM que siguen buscando relaciones lineales en multitud de organizaciones a lo largo del planeta. Y hoy quería ayudar a esos estudiantes a interpretar los parámetros resultantes de un GLM, más concretamente los resultados de un PROC GENMOD de SAS aunque lo que vaya a contar ahora se puede extrapolar a otras salidas de SAS o R. En la línea de siempre no entro en aspectos teóricos y os remito a los apuntes del profesor Juan Miguel Marín. Con un GLM al final lo que buscamos (como siempre) es distinguir lo que es aleatorio de lo que es debido al azar a través de relaciones lineales de un modo similar a como lo hace una regresión lineal, sin embargo los GLM nos permiten que nuestra variable dependiente no sólo siga una distribución normal, puede seguir otras distribuciones como Gamma, Poisson o Binomial. Además un GLM puede trabajar indistintamente con variables categóricas y numéricas pero yo recomiendo trabajar siempre con variables categóricas y en la práctica cuando realizamos un modelo de esta tipo siempre realizaremos agrupaciones de variables numéricas. Si disponemos de variables agrupadas, de factores, los parámetros de los modelos nos servirán para saber como se comporta nuestra variable dependiente a lo largo de cada nivel del factor. ...

21 de marzo de 2016 · rvaquerizo

Truco Excel. Abrir múltiples libros de Excel en distintas hojas de un nuevo libro

Hace tiempo escribí sobre el método de Excel GetOpenFilename para abrir archivos desde Excel a través del explorador de archivos ahora le damos una nueva vuelta de tuerca a aquella entrada y de forma simple podemos abrir múltiples libros de Excel que además se añadirán de forma sucesiva en un nuevo libro. En este link podéis descargaros el archivo y como veréis no tiene nada. Un botón Abrir Excel realiza el proceso, se abre el explorador de Windows y podéis seleccionar múltiples archivos Excel que se almacenan en un array. La macro a ejecutar es la siguiente: ...

17 de marzo de 2016 · rvaquerizo

Como hacer un mapa de España por códigos postales con QGIS

Editado 2022: Francisco Goerlich ha elaborado una versión que de nuevo puede obtener los datos de CartoCiudad. Volveremos sobre el tema y dejaremos una capa que pueda ser reutilizable. https://www.uv.es/goerlich/Ivie/CodPost Editado 2019: Como podéis leer más abajo Correos ha impedido al proyecto CartoCiudad incluir los mapas de España por Código Postal, ahora es necesario comprarlos. Sin embargo, hay versiones antiguas como las que se descargó en su día Íñigo Flores. Con estas descargas yo he elaborado un mapa de España por códigos postales: ...

12 de febrero de 2016 · rvaquerizo

Macro SAS. Número de variables de un dataset en una macro

Una macro que nos permite saber el número de variables que tiene un conjunto de datos SAS. Es una petición de una lectora y la macro es análoga a otra que ya pusimos en el blog allá por 2010. Veamos cómo funciona: %macro numvars(datos); %global numvars; /*ABRIMOS EL CONJUNTO DE DATOS PARA VER SUS CARACTERISTICAS*/ %let datosid = %sysfunc(open(&datos)); /*SI ESTA ABIERTO ENTONCES LA FUNCION ATTRN NOS DA EL NUMERO DE VARIABLES*/ %if &datosid %then %do; %let numvars =%sysfunc(attrn(&datosid,nvars)); /*CERRAMOS EL CONJUNTO DE DATOS*/ %let rc = %sysfunc(close(&datosid));%end; %mend; data ejemplo; a=1; b=2; c=3; d=4; f=5; g=6; run; %numvars(ejemplo); %put _user_; Utilizamos las funciones I/O de SAS, en concreto ATTRN que unido a NVARS nos permite saber el número de variables que tiene un dataset, el número de variables lo ponemos en la macrovariable global &numvars.. ...

22 de enero de 2016 · rvaquerizo

TwitteR con R. El hashtag `#rstats`

El objetivo de la entrada es empezar a analizar tweets con R y que mejor comienzo que usar el #rstats para ver usuarios que más lo utilizan. [no me gusta conjugar el verbo retwitear] El primer paso es crear una app con Twitter, para ello nos dirigimos a <https://apps.twitter.com/> y creamos una aplicación. Crearla es muy sencillo, sólo necesitamos una descripción y un nombre. La aplicación será la que permitirá a R interaccionar con Twitter mediante OAuth y para realizar esta interacción entre la aplicación y nuestra sesión de R es imprescindible: ...

6 de enero de 2016 · rvaquerizo

Creacion de ranking con R

Hasta la fecha si necesitaba crear un ranking o un orden con R realizaba la tarea del siguiente modo: nombres <-c("grupo_1","grupo_2") grupo <-sample( nombres, 10, replace=TRUE, prob=c( 0.5, 0.5) ) dataset <- data.frame(grupo) dataset$importes <- runif(10,100,30000) #Creación del ranking de las variables agrupadas dataset$ranking = ave(dataset$importes,dataset$grupo, FUN= function(x) rank(x, ties.method = "first")) Es una agrupación de factores a la que asignamos el orden con rank, con ties.method=»first» esta agrupación se lleva a cabo desde el primer nivel del factor. El resultado se puede comprobar haciendo: ...

20 de diciembre de 2015 · 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

Mapas SAS a partir de shapefile

Los mapas como este no los hago habitualmente con SAS pero que puede interesaros saber como se pueden hacer. Para la realización de mapas a partir de shapefiles suelo usar R, los que seáis habituales del blog sabéis que hay entradas al respecto. Sin embargo, recientemente, he conocido QGIS que interactúa a la perfección con Excel. El ejemplo de hoy es para aquellos que no conocéis QGIS o R y estáis más habituados a trabajar con SAS. Se trata de importar un shapefile con SAS poder hacer un sencillo tratamiento de datos y posteriormente realizar un mapa muy simple con SAS. Para ilustrar el ejemplo vamos a realizar un mapa por municipios de una provincia española con SAS y para ello necesitamos un fichero *.shp que os vais a descargar de http://www.gadm.org/country seleccionáis los mapas de España y descargáis el ZIP que contiene los archivos. El primer paso es crear un conjunto de datos SAS a partir del shapefile: ...

29 de octubre de 2015 · rvaquerizo