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

Macros (fáciles) de SAS. Determinar si existe una variable en un dataset

Duda que me plantearon el otro día. ¿Es posible determinar si existe una variable en un conjunto de datos SAS? Pretendían crear una macro variable que tomara el valor 1 si existía o 0 si no existía. Resolví la duda pero me guardé la macro para ponerla en el blog y así la podéis utilizar todos. De eso se trata, de compartir mis conocimientos con todos de forma altruista por ello prefiero que planteéis las dudas en el blog, no por correo. Así, entre todos, las podemos resolver. En este caso la macro es muy sencilla y tiene pocas líneas: ...

25 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

Nuestras funciones de R en menús con rpanel y svWidgets

Hoy quería acercarme a los paquetes rpanel y svWidgets para crear ventanas y menús respectivamente. La idea es sencilla: tenemos funciones en R que empleamos habitualmente y con ellas vamos a realizar un menú. Partimos de una función muy sencilla en R para eliminar datos con valores missing. [Por cierto, qué cansado estoy de escribir palabras en inglés para facilitar las búsquedas: un valor missing es un valor perdido. Tras el lapso, continúo]. Mi función: ...

10 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

Trucos SAS. Variables dicotómicas desde factores

El verbo “dumificar” es una invención propia y consiste en la acción de transformar una variable en una o $n$ variables dicotómicas; eso es lo que os planteo en esta entrada: dumificar variables cualitativas con SAS. Partimos de una variable discreta o factor y hemos de transformarla en $n$ variables (tantas como valores tome el factor) que toman valores 1 o 0 en función del grupo al valor que toma. Gráficamente: ...

31 de enero de 2011 · rvaquerizo

Truco R. Paletas de colores en R

En cuántas ocasiones habéis querido dar color a un gráfico y, por aligerar código, creáis gráficos de este tipo: x <- rpois(100, as.integer(runif(10) * 1000)) barplot(sort(x)) Pues en R esta labor puede costarnos muy poco si empleamos las paletas de colores. Hoy quiero presentaros las siguientes: rainbow heat.colors terrain.colors topo.colors Ejemplos de uso: require(graphics) barplot(sort(x), col = rainbow(length(x)), main = "Paleta rainbow") barplot(sort(x), col = heat.colors(length(x)), main = "Paleta heat") barplot(sort(x), col = topo.colors(length(x)), main = "Paleta topo") Comparad; metemos los cuatro gráficos en una sola ventana y tendremos la figura con la que iniciamos esta entrada: ...

30 de enero 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