Árboles de decisión con SAS Base (con R por supuesto)

Con SAS Base podemos hacer árboles de decisión porque tenemos R. Así de sencillo. Vamos a utilizar SAS para gestionar nuestros datos y R será la herramienta que utilicemos para la realización del modelo de árbol de decisión. Posteriormente, emplearemos las reglas generadas por el modelo para etiquetar a nuestros clientes en SAS. Con esta entrada pretendo ilustrar una serie de ejemplos en los que comunico SAS con R. Una herramienta nos sirve para el tratamiento de datos y la otra la utilizaremos para realizar modelos que no están al alcance de SAS Base. Para realizar esta comunicación SAS-R, os planteo la creación en SAS de ficheros de texto con las instrucciones en R y la ejecución en modo batch de R con ese código creado en SAS. Aquí tenéis el ejemplo paso a paso: ...

12 de julio de 2011 · rvaquerizo

Curso de lenguaje SAS con WPS. Librerías en WPS

Sobre el trabajo con librerías en SAS se pueden escribir libros. Todas las personas que han aprendido SAS conmigo a lo largo de los años han oído el mismo discurso: «Hay que tener mucho cuidado con las librerías en SAS. Tenemos que tener muy claro qué tablas son temporales y cuáles han de ser permanentes. El problema del trabajo con SAS reside en el espacio en disco». Ya son decenas las personas que ahora hacen lo que pueden con SAS que han escuchado estas palabras y que siguen llenando discos y más discos, incluso de los servidores con SAS más potentes de España. ...

4 de marzo de 2011 · rvaquerizo

Ya está disponible la versión 2.5.1 de `WPS`

Interesante noticia de WPS. Ya tenemos la versión 2.5.1 que incluye el PROC CLUSTER, podemos trabajar con dataset más grandes e incluye la posibilidad de trabajar con tablas HASH y acceder a sistemas Greenplum… Interesante y barata opción para una compañía de tamaño medio WPS + Greenplum.

17 de febrero de 2011 · rvaquerizo

Curso de lenguaje SAS con WPS. Sentencias condicionales IF THEN

Las sentencias IF THEN son básicas en la programación SAS y en todos los lenguajes. Su estructura es muy sencilla: IF <condición> THEN <acción>; ELSE <acción>;. Todas estas sentencias empezarán con IF y, como condición, podemos poner una o varias. Para crearlas tenemos los operadores de comparación: Para concatenar condiciones emplearemos los operadores lógicos: Y aplicando la lógica realizaremos las condiciones en nuestra programación con WPS. Entre las acciones que se ejecutarán cuando se cumpla la condición podemos destacar: ...

16 de febrero de 2011 · rvaquerizo

El debate político o como analizar textos con WPS

¿Qué hacen los políticos españoles en el Congreso de los Diputados? Las tertulias radiofónicas están llenas de analistas políticos que podrán opinar sobre la labor del Congreso mejor que yo. Sin embargo, yo tengo WPS, sé programar en SAS y en la web del Congreso están todas las sesiones y todas las intervenciones de la democracia. Pues con estos elementos vamos a iniciar un proceso de text mining, aunque no llegaremos a realizar ningún análisis complejo. Para comenzar, como siempre, necesito datos. Me he guardado la sesión del Congreso de los Diputados del día 26/01/2011 como web y posteriormente con Word la he salvado como fichero de texto (ojo con las codificaciones). De todos modos, podéis descargaros aquí el fichero. ...

4 de febrero de 2011 · rvaquerizo

Curso de lenguaje SAS con WPS. Subconjuntos de variables con DROP y KEEP

En esta entrega del curso vamos a trabajar con dos palabras fundamentales en WPS: DROP y KEEP. DROP elimina variables de un conjunto de datos y KEEP las mantiene. Ahora bien, estos elementos del lenguaje SAS se pueden emplear de diversas formas: pueden ser una sentencia o pueden ser una opción de lectura y escritura del paso DATA. Para ilustrar este capítulo, vamos a generar un dataset con datos aleatorios: ...

27 de enero de 2011 · rvaquerizo

Curso de lenguaje SAS con WPS. Funciones fecha

Las fechas con SAS no están muy bien resueltas; con WPS pasa lo mismo. Era necesario un capítulo especial para hablar sobre fechas en WPS. En este blog ya se habló del tema. Y ahora, con WPS, la entrada será análoga: SAS = WPS. Las funciones las vamos a dividir en cuatro grupos: Funciones de extracción de fecha. Funciones de creación de fecha. Funciones de duración. Funciones de intervalo. Funciones de extracción de fecha Nos permiten «extraer» información de variables de fecha/hora. Veamos un ejemplo para extraer la fecha y la hora de una variable fecha-hora: ...

23 de enero de 2011 · rvaquerizo

Curso de lenguaje SAS con WPS. Funciones en WPS

A la hora de trabajar con variables en WPS, uno de los elementos fundamentales son las funciones. En WPS son completamente análogas a SAS. Además, este capítulo quiero que nos sirva para familiarizarnos un poco más con el interfaz de WPS y con sus elementos. Vamos a crear un script, un programa SAS, dentro de nuestro proyecto. Nos ubicamos en el Project Explorer, pulsamos el botón derecho y seleccionamos New — Other; en la ventana que nos sale, nos vamos a WPS y generamos un nuevo programa (script) al que damos el nombre de “funciones”: ...

15 de enero de 2011 · rvaquerizo

Curso de lenguaje SAS con WPS. Introducción a los formatos de variables

Volvemos con el curso de lenguaje SAS con WPS. Estaba parado debido a un problema con las licencias de WPS desde junio de 2010, pero lo retomamos con uno de los capítulos más interesantes: formatos de variables en SAS. Si tuviéramos que definirlos, son imprescindibles tanto para leer como para escribir variables. Y ésa es la característica que los divide: existen formatos de entrada (INFORMAT) y formatos de salida (FORMAT). Se dividen por categorías, entre las que destacan los formatos numéricos, formatos carácter y formatos de fecha. La sintaxis es sencilla: [IN]FORMAT <variable> <formato>;. ...

14 de enero de 2011 · rvaquerizo

David gana a Goliat. La sentencia del caso SAS frente a WPS

Estaba esperando que saliera la sentencia. Además cabía la posibilidad de pertenecer a Goliat y tenía la boca cerrada. Y resulta que tenemos una de las sentencias más interesantes en cuanto a software se refiere: http://www.bailii.org/ew/cases/EWHC/Ch/2010/1829.html Yo no soy capaz de leerme eso en inglés, pero el traductor de Google me ha ayudado: Por las razones anteriormente expuestas, llego a la conclusión de la siguiente manera: i) Si bien no estoy convencido de que Pumfrey J se equivocó al concluir en Navitaire que, sobre la correcta interpretación del artículo 1 (2) de la Directiva sobre el software, los derechos de autor en los programas de ordenador no protegen a los lenguajes de programación de la copia, estoy de acuerdo con él en que se trata de una cuestión sobre la que se requiere la orientación del Tribunal de Justicia (véanse los párrafos 211-218 supra). ...

30 de julio de 2010 · rvaquerizo