Acerca de… si es que el R sirve para todo.

En el blog sobre ecología y evolución EBB Flow. Nos han felicitado Halloween con una tarjeta hecha en R.

Os pego el código:


###required libraries
##if you do not have the "fields" and "MBA" libraries, you need this step to install them
install.packages("fields")
install.packages("MBA")
## load libraries
library(fields)
library(MBA)

###data
data<-matrix(c(44.9186,81.0824,46.9512,80.1061,49.187,80.7055,57.9268,80.1493,60.3659
 ,81.34,69.3089,80.1941,78.4553,79.2459,91.8699,70.834,99.7967,55.9047
 ,101.2195,30.9102,96.1381,17.3075,85.5691,7.4235,74.3902,4.2299
 ,61.7886,1.8181,55.4878,1.0059,49.187,0.9811,45.3252,1.7532,37.1951
 ,1.9181,20.3252,7.1666,8.9431,17.1612,4.2683,29.1507,4.2683,50.8042
 ,9.5528,66.3761,18.4959,76.2539,29.065,80.6261 ,38.6179,80.8607
 ,44.9186,81.0824)
 ,ncol=2,byrow=TRUE)
stem<-matrix(c(60.3659,81.34,57.9268,80.1493,49.187,80.7055,46.9512,80.1061,44.9186
 ,81.0824,45.5285,83.6438,47.561,88.1794,44.1057,97.2209,48.7805,99.9952
 ,54.878,87.6176,60.3659,81.34)
 ,ncol=2,byrow=TRUE)
eye<-matrix(c(45.935,46.4407,34.1463,44.8195,36.7886,46.9952,36.382,50.9306,32.3171,53.08
 ,29.065,53.0672,26.0163,49.7086,28.0488,45.1892,20.3252,48.7021,20.1219
 ,55.3942,23.5772,61.1164,30.8942,65.476,32.3171,59.7729,45.935,46.4407)
 ,ncol=2,byrow=TRUE)
eye2<-matrix(c(58.9431,46.6888,65.4472,51.2419,71.748,56.9754,74.3902,65.4504,82.7236
 ,59.7745,84.9593,56.4368,84.7561,48.562,77.439,45.7772,78.8618,50.5072
 ,74.3902,53.6393,69.9186,51.6532,68.6992,47.9083,70.5285,44.9627,58.9431
 ,46.6888)
 ,ncol=2,byrow=TRUE)
mouth<-matrix(c(8.9431,44.7202,23.374,41.2338,30.0813,22.7562,38.2114,38.5363,65.0407
 ,38.445,73.374,22.533,80.2846,40.8673,96.9512,44.673,93.4959,31.8641
 ,84.1463,18.8352,66.2602,9.7097,61.9919,16.1889,59.3496,8.3045,45.5285
 ,8.447,42.8862,16.1137,38.2114,9.4024,22.7642 ,17.4125,11.9919,31.7401
 ,8.9431,44.7202)
 ,ncol=2,byrow=TRUE)
stars<-matrix(c(sample(seq(0,100),80),sample(seq(20,100),80,replace=TRUE)),ncol=2)

###plot
par(bg = "black")
par(mar=c(5,2,4,2))+0.1
plot(data,type="n",xlim=c(0,100),ylim=c(0,100),xaxt="n",yaxt="n",xlab="",ylab="",axes=FALSE)
symbols(x=stars[,1],y=stars[,2]
 ,circles=rep(0.001,nrow(stars))
 ,inches=0.015,bg="white"
 ,xlim=c(0,100),ylim=c(0,100))
col<-runif(nrow(data),min=4,max=7)
datmb<-mba.surf(matrix(cbind(data,col),ncol=3),no.X=200,no.Y=200,extend=FALSE)
image(datmb$xyz,zlim=c(0,10),col=heat.colors(40),add=TRUE)
polygon(stem,col="darkgreen")
polygon(eye,col="yellow")
polygon(eye2,col="yellow")
polygon(mouth,col="yellow")
points(data,type="l")
mtext("Happy Halloween",side=3,col="green3",cex=3.5,font=4)
mtext("from the EEB and Flow",side=1,col="green3",cex=2.5,font=4)

Ale, a destriparlo y a aprender cosas sobre gráficos en R.

No os perdáis el segundo comentario.

jaume

Acerca de… entrevista Richard Stallman.

Hola.

A este señor, es al que se le ocurrió lo del software libre. Hay una entrevista en el País.

Habla de la diferencia entre Linux y GNU/Linux… yo no lo tengo muy claro. Al parecer Linux, es el núcleo de los sistemas operativos GNU/Linux.

Los que empezaron con el software libre, con GNU, no acababan de tener un núcleo decente hasta que se creó Linux. Sobre estas palabrejas opensourceras mirad aquí.

Gracias a Eloi que lo ha publicado en su blog.

Sí, sí , ya se que está en portugués, pero si ellos nos entiende nosotros podemos entenderlos, además tiene unos apartaditos sobre R y sobre Ubuntu.

Saludos.

Acerca de… guardar gráficos en R

Hola.

Alguien llegó al blog el otro día buscando como salvar gráficos en R, yo lo hago así:

Primero escribo:

jpeg("imagen.jpg")

Esta orden, comando o como se llame, lo que hace es abrir una cosa que llaman «graphic device» donde pone el resultado de las ordenes de gráficos que le demos a continuación. Por ejemplo:

plot(c(1:20),c(20:40))

Normalmente, si escribimos plot(loquesea), automáticamente vemos el resultado en la pantalla, pero como antes hemos puesto el jpeg() ahora no vemos nada.

Solo cuando tecleamos…

dev.off()

el R nos crea una imagen llamada imagen.jpg en el directorio de trabajo. Esta imagen contiene el resultado de la orden plot() o la que hayamos utilizado.

También podemos salvar el script, escribimos las tres cosas seguidas en un archivo de texto y cada vez que queramos hacer este gráfico o uno parecido solo tenemos que modificar lo que queramos cortar y pegar en la consola.

jpeg("imagen.jpg")
plot(c(1:20),c(20:40))
dev.off()

La orden jpeg() tiene unos cuantos parámetros como:

nombre de archivo: siempre entre comillas, en este caso imagen.jpg

height= y width=: altura, anchura, en pixels

quality=: para elegir la calidad ds compresión del jpg. Entre 0 y 100.

entre otros.

Podemos cambiar jpeg() por bmp(), png() o tiff(),pero en cada caso hay que consultar la ayuda

?bmp

o

help(bmp)

Para ver que parámetros podemos modificar.

Saludos.

P.D.: He encontrado otro software de referencias bibliográficas open source. He añadido un comentario en la entrada sobre software para referencias bibliográficas.

Edito (09/02/2009): he encontrado algunos errores en el texto, faltaba algún paréntesis y había alguna falta de ortografía… no debía ser  muy importante por que nadie ha dicho nada.

Acerca de… más información sobre estadistica y R

Para estadísticos Ubunteros.

Un hilo en ubuntu-es acerca de programas para estadístca en Ubuntu.

Mi amigo Dani en su web tiene algunos enlaces para geoestadística en R, buscad en el último párrafo del apartado Ecología de plantas. La web es un poco rara, hay que ir hacia la derecha, no hacia abajo.

Por cierto, he leído el rumor de que hay versión de SPSS para Linux… parece que la versión 17.0. Pero no olvidéis que el R es más emocionante.

Y de regalo dos blogs en wordpress sobre estadística y/o R.

Numero Rojo

Este me parece que se ha quedado por el camino, pero estaré atento a ver si actualiza.

Análisis y comunicación de datos cuantitativos

Este segundo lo hemos pillado con la entrada «nos mudamos», que mala pata.

He ido a visitar su nuevo site y me he encontrado con frases como estas:

«La diagonal principal de la matriz de covarianzas de un vector aleatorio recoge las varianzas de los componentes del vector aleatorio»

«…sea el modelo teórico de regresión Y = X \beta + \varepsilon. Si las hipótesis de Gauss-Markov se satisfacen, entonces el estimador de mínimos cuadrados B=(X^t X)^{-1} X^t Y…»

¡Lo flipo! Supongo que entre tanto galimatías habrá algún post que podamos leer.

Almost sure convergence.

Este empieza, con una entrada sobre un test de tontería… lo seguiré y a ver que tal.

Espero que os sea útil.

Saludos.

Acerca de… las comillas.

¡¡Cuando tenemos un nombre de directorio con espacios hay que ponerlo entre comillas!!

Me explico, hacía tiempo que me frustraba el hecho de que en la consola no podía acceder a directorios cuyos nombres tuvieran espacios.

Bueno, pues ya está claro, si pones:

cd nombre de directorio

te dirá

bash: cd: Archivos: No existe el fichero ó directorio

pero si pones:

cd "nombre de directorio"

entra en el directorio que quieres.

Esto supongo que para los Linuxeros es obvio. Pero para mi no. Y es importante, sobretodo desde el momento en que en mi partición de windows hay unas cuantas carpetas llena de cosas de trabajo de R, llenas a su vez de espacios en sus nombres. Así que hasta que descubrí esto en el R me volvía loco para cambiar el directorio de trabajo.

Lo he añadido al pdf chuleta de R.

Saludos.

Edito (17/09/2009):  Ya no es un pdf.

Acerca de… tutorial de R en video.

Hola.

Carlos, colaborador en la sombra de este blog, me ha enviado esto (me lo envió hace tiempo, pero pasa lo que pasa):

Como veis es un tutorial sobre R en video, esto si que no me lo esperaba.

Este primero trata sobre aritmética vectorial, nada extraordinario: como construir vectores, como sumarlos, número de elementos que contienen, uso de la ayuda, etc.

El segundo video nos orienta sobre el uso de la ayuda, un poco más sobre el como trabajar con vectores y sobre algunas funciones estadísticas sencillas (esas que estudiamos todos en las primeras clases de estadística).

El tercero trata sobre como hacer gráficos, y sobre como salvar el «workspace» y la historia.

El cuarto video trata sobre la web del proyecto R. Sobre como descargar R (habla de los mirrors ved esto).Sobre como instalar paquetes, en windows (en Ubuntu es mucho más emocionante, de hecho ahora mismo no me aacuerdo como se hace), Dice que el libro «An Introduction to R» es el mejor, pero os aviso, como esteis muy verdes se convierte en una cosa incomprensible. También habla de las listas de correo.

Hay alguno más de este autor:

Statistics with R (part 5: external files tutorial)

Statistics with R (part 6: matrix operations tutorial)

Statistics with R (part 7: large dataset tutorial)

Y otros de otros autores:

este parece un comentarista de documentales de National Geographic.

Espero que os sea útil, aunque como siempre está en Inglés.

Saludos.

Acerca de… Un GUI hecho en Java para R

¿Un GUI? ¿Qué es eso? Pues eso me preguntaba yo.

Pues no es más que una forma amigable de interaccionar con el ordenador, en este caso con el R, que como sabemos no es muy amigable. En la Wikipedia hay un definición mejor, pero más difícil de entender.

La versión para Windows de R viene con un GUI, puedes escribir scripts en un editor, hay menús y todo eso. Pero en Linux hasta ahora solo había consola y editor de textos.

editado 27/10/2011: Mirad esta entrada.

Pues el JGR es un GUI para R en Linux, Lo he probado y hasta ahora va bastante bien. Para instalarlo hay una receta bastante fácil, a lmenos para Ubuntu: Instalar la última versión de R, instalar el Java o algo parecido, presentarlos (según ellos Enable Java support in R) y instalar los paquetes en R. Ojo, al instalar los paquetes en R el R lo debemos ejecutar con sudo:

nobre_usuario@nombre_maquina:˜$ sudo R

Pues eso, a disfrutar.

Gracias a elProf y a jjgibaja que me dijeron donde encontrar esto.

P.D.: Después de instalar el programa, hay que actualizar el paquete desde R.

> JGR(update=T)

Si no lo hacemos no funciona la ayuda, y cada vez que ejecutamos el JGR hay que cargar la librería como cuando se instaló el paquete.

EDITO (20/04/2009)

Se puede hacer un ejecutable en el escritorio para ejecutar JGR directmente sin ejecutar el R.

Nos lo sugiere en la consola cuando ponemos JGR()

> library(JGR)
Loading required package: rJava
Loading required package: JavaGD
Loading required package: iplots

Please use the corresponding JGR launcher to start JGR.
Run JGR() for details. You can also use JGR(update=TRUE) to update JGR.

> JGR()
Starting JGR …
(You can use /usr/local/lib/R/site-library/JGR/scripts/run to start JGR directly)

Supongo que según la estructura de directorios de cada uno será diferente.

Lo que hay que hacer es crear un lanzador en el escritorio (boton derecho sobre el escritorio – crear lanzador) y poner ese path donde pone comando: desde ese momento nos saldrá el icono en el escritorio y al pincharlo se ejecutará el JGR directamente.

Para que funcione correctamente la ayuda hay que instalar además el paquete r-base-html. No es un paquete de R como el base o el graphics que se instala desde R. Se instala con:

sudo apt-get install r-base-html

o desde Synaptic.

por cierto, también hay un JGR para windos.