Un repaso a los paquetes de R `solaR`, `chron`, `directlabels` y gráficos de densidades con `lattice`

Y además vamos a analizar si de verdad llueve más los fines de semana en Madrid. Hace tiempo que me gustaría estudiar la influencia de la contaminación en algunos fenómenos atmosféricos. Por supuesto no tengo tiempo para elaborar un estudio de ese tipo. La base de este estudio iba a ser el paquete solaR. Por otro lado quería elaborar un monográfico sobre el paquete chron que contiene funciones muy interesantes para el manejo de fechas. Sin tiempo es imposible, por ello nos vamos a acercar a estos dos paquetes con un ejemplo y de propina os presento directlabels otro paquete muy interesante para añadir etiquetas a nuestros gráficos. ...

22 de mayo de 2011 · rvaquerizo

Lectura de ficheros SAS7BDAT de SAS directamente con R

Un post de BIOSTATMATT que nos conduce a un código en R que nos permite leer datasets de SAS directamente con R sin necesidad de tener SAS. Un problema recurrente que abordaré con más detenimiento otro día [ahora me voy a pescar]. Aquí tenéis el enlace: http://biostatmatt.com/archives/1216 Sólo tenéis que cargar la funciónread.sas7bdat que tenéis en este enlace. Y ya podéis leer conjuntos de datos SAS. Ejemplo: ```r source("http://biostatmatt.com/R/sas7bdat.R") datos = read.sas7bdat("D:\\raul\\Trabajo\\salida\\p03.sas7bdat") De momento lo he probado en conjuntos de datos SAS sin índices y sin comprimir, si encuentro algún problema primero se lo reporto a la gente que ha creado esta función y más tarde os lo comento.

19 de abril de 2011 · rvaquerizo

Comienza la cuenta atrás. III Jornadas de usuarios de R

Por fin están en marcha las III Jornadas de Usuarios de R de España. En este enlace tenéis toda la información disponible. Para esta tercera edición hay que destacar: Serán en Madrid en la Escuela de Organización Industrial Habrá talleres, bajo mi punto de vista uno de los mayores aciertos Podéis participar, R tiene que salir del ámbito universitario e investigador y pasar al ámbito empresarial. Muchos podéis pensar que yo debería aplicarme el cuento… Necesitan patrocinio. No sólo por temas económicos, también por la repercusion que implica el patrocinio. Todos aquellos que trabajáis en grandes organizaciones podéis poner en contacto al comité organizador con vuestras empresas También podréis realizar aportaciones voluntarias ya que la asistencia es completamente gratuita Creo que es el punto en el que este foro alcanza su madurez y es el momento de que el mundo empresarial fije sus ojos en R y en la comunidad de usuarios que tiene detrás Y sobre todo y más importante. Podéis conocerme en persona , por muchos asistentes que haya a mi se me ve y no sólo por el Windows 7 Creo que los ingredientes para estas nuevas jornadas garantizan el éxito. ¡Nos vemos en noviembre!

4 de abril de 2011 · rvaquerizo

Trucos R. Gráficos de velocímetro con R

Hoy toca homenaje a 2 lectores del blog. Es la primera versión de un gráfico en forma de velocímetro con R. Cuando disponga de más tiempo modificaré la versión para darle mayor vistosidad. Como es habitual el truco nos servirá para trabajar con un interesante paquete de R como RColorBrewer. Un paquete que me descubrió un lector. El resultado final no es muy espectacular (de momento): De momento la versión más sencilla. Veamos el código R que representa el semicírculo y posteriormente lo analizaremos. Me gustaría que también lo ejecutéis vosotros para comentarme posibles incidencias. Se genera el gráfico como PNG en C:\temp: ...

20 de marzo de 2011 · rvaquerizo

Leer y representar datos de Google Trends con R

En el blog del profesor Serrano tomé contacto con el paquete RGoogleTrends para leer datosde Google Trends. Tras diversos intentos y analizando bien el paquete RGoogleTrends no he sido capaz de hacerlo funcionar. Sin embargo sólo hay que leer un csv, por esto podemos emplear read.csv para descargarnos los datos de Google Trends y analizarlos con R. Además el objeto resultante nos será mucho más familiar que el generado por RGoogleTrends. Para realizar esta lectura necesitamos lo siguiente: ...

11 de marzo 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 arealizar un menú. Partimos de una función muy sencilla en R para eliminar datos con valores missing. [Por cierto, que 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

Muchas variables no implican una mejor predicción

Me sigo durmiendo con el genio Juan Antonio Cebrián y sus pasajes de la historia, monográficos zona cero o tertulias 4 C. Sus programas de radio me acompañan desde hace muchos años. Estudiando, vigilando instalaciones del ejercito o en el turno de noche de una fábrica Cebrián y su gente ha estado conmigo. En alguna ocasión hablaron del código secreto de la Bíblia, un código existente en la Torá (Pentateuco) que se resume en «todo está escrito».Y es que una gran cantidad de información puede provocar relaciones al azar (o al azahar como le gusta decir a un buen amigo). Y esto puede pasarnos en nuestros modelos matemáticos. Ejecutemos el siguiente código en R: ...

30 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: ```r 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: ```r require(graphics) barplot(sort(x),col = rainbow(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 4 gráficos en una sóla ventana y tendremos la figura con la que iniciamos esta entrada: ...

30 de enero de 2011 · rvaquerizo

Medir la importancia de las variables con Random Forest

¿Qué variables son las más importantes para nuestro modelo de clasificación? Yo creo que muchos de vosotros os habréis encontrado con esta problemática. Hay muchas formas de solventarla, habitualmente empleamos aquellas variables que mejor pueden entender nuestras áreas de negocio. Es decir, hacemos segmentaciones en base al sexo y la edad sólo por no tener que explicar como hemos construido una variable artificial a alguien que no entiende lo que es una variable y mucho menos variable artificial. Pero hoy os quería plantear la utilización de métodos de random forest con R para medir la importancia de las variables cuantitativas, para variables cualitativas recomiendo otras formas que plantearé más adelante. El random forest es un método de clasificación basado en la realización de múltiples árboles de decisión sobre muestras de un conjunto de datos. Hacemos muchas clasificaciones con menos variables y menos observaciones y al final nos quedamos con un promedio de estas clasificaciones, esa sería la idea a grandes rasgos. La característica que hace de este método muy interesante es la posibilidad de incluir un gran número de variables input en nuestro modelo ya que no encontraremos relaciones lineales entre ellas y tampoco aparecerán relaciones debidas al azar. ...

8 de enero de 2011 · rvaquerizo

Truco R. Eval, parse y paste para automatizar código

La función paste nos permite concatenar cadenas de texto con R: paste("Dato",rep(1:10),sep="") Parse recoge una expresión pero no la evalúa: parse(text="sqrt(121)") Y por último eval evalúa una expresión: eval(parse(text="sqrt(121)")) Interesantes funciones que nos pueden permitir automatizar códigos recursivos o códigos guardados como objetos en R. Imaginemos el siguiente ejemplo de R: ejemplo1 <- data.frame(replicate (20,rpois(20,10))) nom <- paste("dato",1:20,sep="") names(ejemplo1) <- nom summary(ejemplo1) Hemos automatizado los 20 nombres de un data frame con datos aleatorios con una distribución de poisson de media 10 creado con la función replicate. Ahora imaginemos que deseamos transformar en factor sólo aquellos elementos del data frame con un sufijo par (datos2, datos4, …). Podemos crear una función o podemos crear ejecuciones de código R del siguiente modo: ...

7 de enero de 2011 · rvaquerizo