Recodificar el valor de un factor en R

Tras leer una duda planteada en la lista de R-Help en español, me he animado a crear una entrada acerca de la recodificación de factores en R. Así dejo recogido algún código/truco que puede serviros en vuestro trabajo con R y que este pequeño problema no afecte a vuestra productividad. Además, os acerco a la función recode del paquete car. Pero en primer lugar os planteo cómo recodificar factores empleando if / else: ...

7 de diciembre de 2010 · rvaquerizo

Gráficos de burbuja con R

El otro día en R-bloggers leí este post. Entonces busqué información sobre estos gráficos con R en español y sólo encontré ayuda para realizarlos con Excel. Es verdad que el enlace que os pongo es más que suficiente para realizar los gráficos de burbuja, pero en pocas líneas puedo ilustrar mejor un ejemplo y proponeros varias formas de crearlo. La primera de ellas emplea la función symbols y genera el siguiente gráfico: ...

5 de diciembre de 2010 · rvaquerizo

Haciendo gráficos con R ¿cuáles son vuestras preferencias?

¿Cuál de estos gráficos de cajas os gusta más? Base de R: png('C:/temp/base.png', bg = "white", res = 100, width = 450, height = 600) boxplot(Petal.Length ~ Species, data = iris, main = "Gráfico con Base") dev.off() Con lattice: library(lattice) png('C:/temp/lattice.png', bg = "white", res = 100, width = 450, height = 600) # Paquete lattice x <- bwplot(Petal.Length ~ Species, data = iris, main = "Gráfico con Lattice") print(x) dev.off() Con ggplot2: library(ggplot2) png('C:/temp/ggplot2.png', bg = "white", res = 100, width = 450, height = 600) # Paquete ggplot2 x2 <- ggplot(iris, aes(Species, Petal.Length)) x2 + geom_boxplot() + ggtitle("Gráfico con ggplot2") dev.off() Tres muestras del mismo gráfico de cajas realizado con R. Tres sintaxis muy sencillas, pero boxplot es más fácil si cabe. Parece que estéticamente ganaría ggplot2; sin embargo, todo es jugar con más opciones, aunque se complicaría el código. En mi opinión, creo que sale ganando ggplot2, pero no es tanta la diferencia.

14 de noviembre de 2010 · rvaquerizo

Algunos temas de interés sobre R

No había escrito nada sobre ello porque muchos de mis lectores sé que están al corriente de la realización de las II Jornadas de R en castellano. Este año se organizan en la Escuela Politécnica de Mieres y tienen un par de talleres muy interesantes. A ver qué tal funciona la experiencia de los talleres; particularmente, sí me parece buena opción. Desgraciadamente, no contarán con mi presencia, el más ferviente defensor de R en los foros de dinosaurios gestores de la información. Mis deberes familiares (cada vez más numerosos) y un nuevo cambio en el rumbo de mi trayectoria profesional me impiden acudir. La siguiente edición será. ...

8 de noviembre de 2010 · rvaquerizo

Mapas con spatial data de R

Vamos a hacer mapas de México, España y Colombia con R. Y lo primero que tenemos que hacer es disponer de un objeto de R con los datos del mapa. Estos datos los vamos a obtener de http://www.gadm.org/country. Seleccionamos el país y el formato que deseamos descargar. Para ilustrar nuestros ejemplos, vamos a descargarnos los mapas de España, México y Colombia en formato R data. Vemos que tenemos distintas divisiones en función del nivel al que deseemos llegar. En este caso seleccionamos nivel 2 para España y nivel 1 para Colombia y México. Los hemos descargado a nuestro equipo (mejor descargarlo que no acceder a la web) y comprobamos que los archivos tengan extensión .Rdata. Una vez tengamos los archivos con su formato, su extensión y demás, ya podemos trabajar con ellos y vamos a trabajar con el paquete sp (spatial data): ...

9 de octubre de 2010 · rvaquerizo

Descubriendo ggplot2

Bye bye plot, bye bye points, bye bye abline… Como la canción Bye bye life. He escrito en el Tinn-R install.packages("ggplot2") y estoy como un niño con zapatos nuevos. Así estoy desde que he comenzado a trabajar con el paquete ggplot2 de R. No es que no lo conociera, es que me defiendo demasiado bien con mis plot y mis points. Había visto algún gráfico espectacular pero el código asustaba. Sin embargo este paquete es tema de conversación todas las semanas con algún usuario de R. Entonces me siento delante de R y tras escribir library(ggplot2)… ...

2 de octubre de 2010 · rvaquerizo

Stadistical data warehouse del European Central Bank con R y los depósitos a pérdidas

Más ejemplos de uso del paquete de R XML. Vamos a leer datos del data warehouse del European Central Bank. Si dais una vuelta por la web tendréis interesantes datos económicos de los países de la Unión Europea. A modo de ejemplo, vamos a leer los datos de los tipos de interés medios a 12 meses que se están dando por los bancos en España y la evolución del Euribor a 6 meses. ...

29 de septiembre de 2010 · rvaquerizo

Macros SAS. Dataset a data frame R

Voy a presentaros la versión Beta de la macro de SAS que genera data.frames a partir de una tabla SAS en Windows; la versión en Linux me la ahorraré hasta el día que pueda instalar SAS en mi máquina virtual. La macro la iré mejorando y evolucionando; probablemente estas mejoras no las colgaré y no retomaré el hilo hasta que tenga una V1. El tema es sencillo y anteriormente ya hice mención a este método, pero ahora doy una vuelta de tuerca y directamente creamos data.frames a partir de datasets. Os pongo el total del código y comentaré los pasos más interesantes; por supuesto, es mejorable. Lo que no puedo asegurar es si funciona bajo WPS porque no me han renovado la licencia. Todo el código seguido: ...

28 de septiembre de 2010 · rvaquerizo

Trucos R. Leer archivos XML con R

Un truco de R práctico que busca la colaboración de los lectores para mejorarlo. Se trata de leer ficheros XML con R. Los más asiduos ya sabéis qué paquete voy a emplear: el XML. En los últimos tiempos, la sentencia require(XML) aparece al principio de casi todos mis códigos en el Tinn-R. El ejemplo que ilustrará el truco lee de la BBDD del Banco Mundial en español el indicador de emisiones de CO2 en toneladas por habitante y año. La sintaxis es de este modo: ...

8 de septiembre de 2010 · rvaquerizo

Trucos R. Establecer la configuración local de una fecha

Cuando manejamos datos, las fechas nos producen muchos quebraderos de cabeza; por ejemplo, cuando tenemos que transformar un carácter a fecha. En mi opinión, R es una de las herramientas más flexibles y rápidas para trabajar con fechas (claro que, acostumbrado a SAS, cualquier otra herramienta me parece perfecta). A lo que vamos, imaginemos la siguiente situación: # ?as.Date x <- c("1jan1960", "2jan1960", "31mar1960", "30jul1960") z <- as.Date(x, "%d%b%Y") z # [1] NA NA "1960-03-31" "1960-07-30" Se trata de transformar un texto a fecha en R. El formato del texto es día, mes en inglés y año con cuatro cifras. Para transformar a fecha tenemos la función as.Date, que recibe como parámetros el objeto y el formato de la fecha (el más habitual sería %d/%m/%Y para 10/09/1976). Para meses en formato nombre empleamos %b, pero en este caso "1jan1960" nos produce un valor perdido; sin embargo, "31mar1960" sí se transforma correctamente. ¿Por qué motivo sucede esto? ...

2 de septiembre de 2010 · rvaquerizo