Agregador de noticias de R en español

R

En el blog hermano de Carlos Gil han puesto en marcha uno de los proyectos más interesantes que han pasado por la blogosfera últimamente. Un agregador de noticias de R en español. Un proyecto similar a R-bloggers pero en lengua hispana. Por supuesto este blog es uno de los participantes.

El motor lo ha hecho integramente Carlos (con sus deditos y Python) y publica vía RSS cuando encuentra la etiqueta R. Desde aquí os invito a que déis de alta vuestros blog y poder crear una web referencia en español sobre R a la altura de R-bloggers.

Un acercamiento a GRAPH. ANNOTATE macros

No quiero entrar en muchos detalles sobre el uso de %ANNOMAC. Esta macro nos permite usar las macros de ANNOTATE. Estas macros sirven para trabajar con el PROC GANNO del que ya hicimos una pequeña revisión. Ahora me gustaría presentaros un ejemplo de uso de estas macros y sobre todo me gustaría que analizáseis el conjunto de datos SAS generado. Pongo directamente todo el código necesario:

*OPCIONES NECESARIAS;

goptions reset=global

         cback='white'

         colors=(blcack)

		xpixels=1000 ypixels=1000;;

%LET pos_inicial_x=50;
%let pos_inicial_y=99;

Nace Pelayonex, la directa de Pelayo

La última compañía en subirse al carro de las directas es Pelayo con Pelayonex. Me he enterado por prensa especializada por lo que puedo entender que la compañía está en fase beta. No tengo contactos en esta aseguradora y no sé como han sido sus resultados en los últimos tiempos, es una aseguradora que no he seguido nunca. De todos modos la primera impresión, la web de Pelayonex, me ha gustado. El símbolo de la empresa es bastante llamativo, pero el nombre… Con un nombre tan feo estoy seguro de que se trata de un piloto para adaptar sistemas, tarifas, entornos, posición en el mercado y demás.

Trucos Excel. Mapa de España por Comunidades Autónomas

Mapa final de España con Excel

Vamos a mejorar muchos de nuestros informes con mapas de España realizados a través de Excel. Os contaré la metodología que empleo para realizarlos y a partir de ahí vosotros podréis mejorarlos. Voy a realizar un mapa de España por Comunidades Autónomas y le vamos a modificar en función del gasto en prestaciones por desempleo (http://www.tt.mtin.es/periodico/laboral/201006/mayo.pdf).Todo empieza por conocer los archivos SVG y pasa por agradecer a los usuarios de la wikipedia que distribuyan todo tipo de mapas realizados por ellos mismos y de uso libre. En este caso buscamos un mapa de España por Comunidades Autónomas . Necesitamos una aplicación libre para manejar estos mapas y la mejor, más adecuada y la que yo uso es Inkscape la conocí ayer por la mañana, después me harté de botellines, me fui a sembrar unas guindillas y a día de hoy ya hago mis pinitos con el portátil del trabajo, porque en el mío no funciona. Da problemas en Win 64 bits (¡si!, uso win, como tú que lees esto ya que es muy poco probable que pertenezcas al 3% que usa Mac o al 3% que usa Linux). Con esta aplicación tenemos a nuestro alcance ver perfectamente que es lo que hace el XMLy que espero termine en un paquete de R para hacer mapas de España.Bien, tenemos Inkscape y el mapa por Comunidades de Wikipedia y ahora viene un trabajo muy sencillo, muy aburrido y muy en la línea de un tipo mediocre como el que escribe ahora mismo. Voy a copiar en Inkscape y pegar en Excel cada Comunidad Autónoma, lo transformo en un objeto de Ms-Office para que me sea más sencillo modificarle las propiedades y le doy un nombre a cada figura. Tras 5 minutos haciendo un puzle tengo algo parecido a esto en Excel:

Curso de lenguaje SAS con WPS. Lectura de ficheros de texto

Leer ficheros de texto con lenguaje SAS no es sencillo debido a la escasa flexibilidad de SAS. La cosa se complica cuando leemos texto con WPS. Empleando el asistente de SAS y haciendo recall podemos leer ficheros con bastante comodidad. Eso no lo podemos hacer con WPS porque no dispone de asistente ni nada parecido al EFI de SAS. Así que tenemos que tantear con INPUT hasta conseguir leer el fichero correctamente. Pero esta entrada nos permite conocer mejor como funciona el paso DATA. Más adelante veremos como hacerlo con el PROC IMPORT. El primer ejemplo importa un fichero de texto de este tipo:

Curso de lenguaje SAS con WPS. Que hace el paso DATA

El elemento principal del lenguaje SAS es el paso DATA. Este elemento crea, modifica y transforma conjunto de datos SAS (datasets). El paso DATA se compone de 2 fases, la fase de compilación y la fase de ejecución. En la fase de compilación DATA crea una estructura de memoria, conocida como program data vector (PDV), con la estructura que SAS considera más adecuada para el conjunto de datos, paralelamente crea toda una descripción de la información del dataset. Una vez creada la estructura de la tabla SAS se pasa a la fase de ejecución en la que SAS itera con cada registro haciendo “output” en el dataset cuando SAS llega a la sentencia RUN. La iteración se lleva a cabo hasta que SAS detecta el final del archivo.

Un acercamiento a GRAPH. ODS GRAPHS PROC SGPLOT

BOXPLOT SGPLOT HISTOGRAMAS SGPLOTBARRAS CON GRUPOS SGPLOT

REGRESION CON SGPLOTGRAFICO BARRAS LINEAS SGPLOTBARRAS HORIZONTALES SGPLOT

No todos los procedimientos gráficos de SAS son tan malos y tan complejos. Hay una serie de procedimientos como el PROC SGPLOT que nos permiten realizar gráficos muy vistosos y con una sintaxis más sencilla. Estos procedimientos son los que vamos a denominar ODS GRAPHS. Como siempre, en estas líneas, sólo os voy a acercar a algunas de las posibilidades que ofrece el PROC SGPLOT (a futuro veremos más) y despertar vuestra curiosidad. Hay documentación muy completa en la red al respecto, además, y sin que sirva de precedente, la ayuda de SAS es muy correcta.

Curso de lenguaje SAS con WPS. El paso DATA

El elemento estrella del código SAS es el paso DATA. Con data podemos leer y escribir conjuntos de datos SAS. Un conjunto de datos SAS es una tabla de datos que contiene información sobre las variables y los registros de la tabla. Data lo que hace es crear una estructura para la tabla y posteriormente añadir datos a esta estructura, es un bucle, no necesitamos indicarle al sistema como recorrer la tabla. En WPS ejecutaremos nuestras sentencias en el editor a través de scripts sobre los que podemos navegar en el Proyect Explorer. La sintaxis de un paso data es imposible resumirla pero se puede estructurar del siguiente modo:

Curso de lenguaje SAS con WPS. Lenguaje SAS

El lenguaje SAS tiene 3 elementos fundamentales:

  • Sentencias globales
  • Pasos DATA
  • Procedimientos PROC

SAS es un lenguaje de alto nivel interpretado. Esto es, ya está todo inventado y es muy costoso implementar nuevos procedimientos y algoritmos, algo de gran importancia en el mundo estadístico, pero para ello tenemos R. Ahora bien, ¿por qué las grandes organizaciones tienen SAS? Tiene una característica que destaca sobre todas: trabaja sobre disco , no trabaja sobre memoria como R o MATLAB. Esto nos permite gestionar grandes cantidades de registros y no estamos limitados por la memoria de nuestra máquina. WPS, evidentemente, hace lo mismo que SAS (a menor precio). Por la propia naturaleza de SAS es muy complicado poder crear nuevos procedimientos y funciones.

Curso de lenguaje SAS con WPS. Introducción

Hoy me gustaría mostraros el interfaz de WPS y cuales son las características principales de WPS y cuales son comunes entre SAS y WPS. Si pincháis este link podréis descargaros una demo de WPS y seguir este curso. Cuando lo hagáis y abráis WPS os encontraréis con esto:

interfaz_wps.jpg

Este es el interfaz de WPS. Desde mi prisma es muy parecido a la versión 4 del Enterprise Guide. Se compone fundamentalmente de una ventana donde podemos editar programas con un código semafórico igual al de SAS. Tenemos una ventana donde navegamos por resultados, log y controlamos las ejecuciones. A la izquierda de ella tenemos las propiedades que se activarán cuando seleccionemos un elemento (particularmente me gusta mucho este elemento). El navegador del proyecto nos permitirá movernos entre los programas o scripts de SAS y además a la derecha tenemos una ventana que nos permite movernos entre los elementos y los procesos del código.

Las cuentas claras.

Si hay alguna tarea o procedimiento indispensable y más repetitivo hasta la saciedad por excelencia a la hora de trabajar con bases de datos y tener que reportar alguna información por mínima que sea, esta es contar o contabilizar el número de casos (registros) que tenemos en total o en subtotales (por grupos) dentro de una tabla (los llamados ‘datasets’ en SAS).

Para dar mayor utilidad a este ‘tutorial’ sobre conteo, partiré de una tabla con 2 columnas (campos) tipo cadena, es decir tipo texto, de manera que podamos ver diferentes métodos para contar-contabilizar NO solo campos tipo texto sino también trucos que nos den una solución más ‘elegante’ de la combinación de ambos campos tipo cadena. Estos 2 campos se llamarán ‘grupo’ y ‘tipo’, muy empleados por muchos programadores, pero se podrían llamar tambien ‘familia’ y ‘familia_segmento’ o bien
‘comunidad_1’ y ‘comunidad_2’ o bien ‘zona_tipo1’ y ‘zona_tipo2’ o bien ‘entorno_primario’ y ‘entorno_secundario’, o si el ejercicio tratase de contar el número de alumnos por sexo y color de ojos bastaría con ‘sexo’ y ‘color_ojos’, etc etc.

Curso de lenguaje SAS con WPS

Paro algunas series de las que venía escribiendo para iniciar una que es de mucha importancia para el blog. Voy a acercar el lenguaje SAS a los lectores con un menor nivel. Se trata de crear uncurso introductorio al lenguaje SAS pero con la herramienta WPS. La metodología que seguirá el curso será muy similar a la de un manual que colgué en la red hace unos años. Pero en esta ocasión emplearé un lenguaje más apropiado para el blog y mejoraré algunos puntos del manual e incidiré en otros que no quedan muy claros.

«Random walk» se escribe con R.

‘Random walk’ hace referencia a la teoría financiera de que los mercados financieros siguen un camino aleatorio. Pero NO vamos discutir si se da o NO se da tal hipótesis, lo que SÍ vamos a hacer es utilizar R para seguir las acciones, fondos de inversión, o sencillamente para ver nuestro decepcionante Euro respecto a otras divisas (por si algún día los ‘españolitos’ debieramos empezar a emigrar de nuevo… tal como esta el patio!).