Formación

Acercamiento a WPS. Migrando desde SAS

Poco a poco comienzo a trabajar con el clónico de SAS WPS. Estoy trabajando con la versión 2.3.5. De momento las impresiones no pueden ser mejores. El interfaz me recuerda a Enterprise Guide, trabajamos con proyectos que pueden estar compuestos de scripts (códigos de SAS) o ficheros. En cuanto al interfaz tenemos un navegador de proyectos para explorar los elementos que añadimos. Acompaña a este explorador una ventana de propiedades del proyecto. En la parte central podemos ver los scripts o los ficheros que añadimos. Me ha gustado el poder linkar los ficheros añadidos al proyecto a la aplicación del sistema asociada al fichero, me explico, si añades una hoja de cálculo ésta se abre en el proyecto de WPS con el programa asociado a ella. Otra de las ventanas está organizada en pestañas, una de ellas dispone del log y los resultados, otra un «server explorer» similar al explorador de SAS Base y una pestaña de progreso. Por último disponemos de otro navegador de procedimientos, resultados o log de ejecuciones al que particularmente no le encuentro mucho interés.

Uso de CASE en PROC SQL

Vamos a estudiar como funciona CASE en un PROC SQL. Son palabras que aparecen en las búsquedas de Google y también he observado que el número de visitas al blog ha descendido en los últimos días y no sólo es debido a las vacaciones navideñas. El 60% de los clicks a AyD vienen por temas de SAS y en los últimos días tengo muy olvidados los mensajes de esta categoría. Además en el plazo de 2 días voy a dejar de trabajar con esta herramienta por lo que, es posible, que se reduzcan aun más. En fin, a lo que voy, CASE en el PROC SQL. Case nos permite crear campos condicionales dentro del bloque SELECT de una query de PROC SQL:

Monografico. Paquete sqldf, si sabes sql, sabes R

El paquete sqldf de R nos permite ejecutar sentencias de SQL . Las cláusulas, las expresiones, los predicados,… son lasalvación para muchos tipos mediocres como el ahora escribiente. sqldf es un módulo imprescindible, hasta el novio de Falete es capaz de programar en SQL. Evidentemente no voy a enseñaros a hacer queries , pero si quiero mostraros algunas de las posibilidades que nos ofrece este paquete de R. Como siempre y como caracterizan la mayoría de los mensajes del blog trabajaremos con ejemplos. El primer paso es crear un data.frame :

Monografico. Arboles de decisión con party

Los árboles de clasificación son una de las técnicas de análisis más utilizadas. No requieren supuestos distribucionales, permite detectar interacciones entre variables y no es muy sensible a la presencia de valores perdidos y outliers. En resumen, es una técnica que no quita mucho tiempo al analista para hacer consultas carentes de valor para sus responsables y permite identificar tanto perfiles positivos como perfiles negativos. Además, sus resultados son muy fáciles de interpretar. Tan fáciles que, INCLUSO , las áreas de negocio pueden entender sus resultados. Por todo esto estamos ante una de las técnicas más extendidas. En el blog ya hicimos un breve monográfico con rpart de R y nos quedaba realizar una revisión al paquete party. La metodología para esta rápida revisión será la habitual, planteamos un ejemplo y realizamos un análisis con las instrucciones de party.

Probando R sobre el EC2 de Amazon

Hacía tiempo que quería probarlo. Menos en las grutas pobladas de seres del siglo anterior, todo el mundo habla del EC2.

Entre otras muchas cosas que iré explorando más adelante, el EC2 de Amazon te alquila un servidor por horas. También te ofrece espacio de disco a unos precios de risa y otras cosas más que bien podrían mandar al paro a departamentos enteros de IT. Pero hoy, de momento, sólo me interesaba el servidor, alquilar un servidor por un rato.

Migrando de SAS a R

Estoy ayudando a unos colegas a migrar de SAS a R. Están lejos, en un país de vino y carne al que alguna vez he de ir. Hemos quedado en que si alguna vez borran el último de sus SAS del disco duro, los ayudo gratis. Si no, cuando vaya, me tendrán que pagar hasta el último peso en lifaras y libaciones.

Tienen procesos que ejecutaban en SAS. Algunos los iban reescribiendo en R. Se sienten más cómodos en SAS pero cuando éste se queda corto, recurren a R. Es una aproximación «todo o nada».

Trucos SAS. Unión de múltiples tablas SAS con un nombre parecido

Ha llegado una búsqueda y ponemos el truco. Creo que ya lo puse pero no está mal de recordarlo.

1. Creamos 20 datasets aleatorios con 10 observaciones cada uno:

%macro doit;

%do i=1 %to 20;

data zzdatos_&i.;

do i=1 to 10;

output;

end;

run;

%end;

%mend;

Un bucle fácil de macros ha generado 20 dataset que se llaman ZZDATOS_n. Recomiendo siempre emplear nombres «absurdos» para el trabajo con esta metodología.

Minería de datos con R: un pequeño paseo

Éste es mi primer monográfico. Como soy más perezoso que Raúl y peor estudiante que nadie, en lugar de hacerlo yo, lo copio. Y en lugar de desarrollarlo en su totalidad, dejo más de la mitad como deberes.

Y es que he encontrado un pequeño programa en R que repasa una serie de técnicas clásicas de minería de datos a modo de paseo. Está en inglés y tal vez alguien (es la tarea que propongo a algún voluntarioso lector del blog) se anime a traducirlo. De hacerlo, me comprometo a darle alojamiento y publicidad respetando las debidas atribuciones.

Monográfico. FIRST. y LAST. ejemplos en DATA

Ya trabajamos en un monográfico anterior con datos agrupados en SAS. Cuando empleamos BY tenemos dos variables dentro del paso data con las que trabajaremos habitualmente FIRST. y LAST. A continuación vamos a plantear un ejemplo de uso para entender mejor su funcionamiento. Partimos de una simulación de una catera de una CIA asguradora que tiene 1.000 pólizas y está a nivel de póliza, renovación y suplemento. Para la realización de diversos análisis necesitamos marcar las pólizas de nueva producción, marcar la anualidad, determinar la prima en el momento anterior a la renovación y la prima que tienen a día de hoy.

Dos vecinos muy próximos de la «blogosfera»

Hoy voy a hablar de la competencia, siempre muy deportiva, de este blog. Espero que Raúl me excuse y entienda que no quiero alimentar contadores de visitas ajenos a expensas de los propios sino establecer relaciones de buena vecindad con otros proyectos interesantes y complementarios.

El primero, El blog de los erreros , del que tuve noticia hablando con su autor mientras comíamos en la cantina de la Universidad de Murcia en el marco de las Jornadas de R (las primeras de una serie perpetua, quede dicho). Está orientado al mundo de R y contiene trucos, noticias y aplicaciones estadísticas (desarrolladas y resueltas, claro está, con R).

Noticias del congreso de usuarios de R

Hoy he regresado de las primeras jornadas de usuarios de R. Han sido dos días largos y densos, pero también productivos. Tenemos que estar muy agradecidos a José Antonio Palazón, de la Universidad de Murcia y coordinador del comité organizador, y a Manuel Muñoz Márquez, coordinador del comité científico y responsable del proyecto R UCA, por su extraordinario trabajo.

Creo que para muchos de los participantes, uno de los principales beneficios que extrajimos de las jornadas fue el de poder establecer contacto real, físico, con gente y grupos a los que ya conocíamos directa o indirectamente. Allá me encontré con compañeros con los que había mantenido largos intercambios de correo y chat sobre los temas más diversos; algunos que me agradecieron alguna respuesta que les di años ha en la lista de correo de R-help (antes de que existiese R-help-es, incluso) e, incluso, fieles seguidores de este blog (del que sólo supieron contarme maravillas antes, incluso, de revelarles mi participación en él y que la cordialidad los cuasiobligase a ello). Incluso surgieron muchas vías de colaboración entre proyectos que habían surgido de manera espontánea e independiente y que, de repente, se vio que se enriquecían mutuamente.