Trabajhar Con El R Commander

20
1. Descripción Así se ve el R commander: En la ventana de arriba se escriben los comandos (si uno elige algo del menú, el comando aparece escrito en esa ventana, lo que ayuda a aprender un poco el uso del R, y además, permite modificar los comandos si tenemos que hacerle algún pequeño ajuste. En la ventana del medio se presentan los comandos en color rojo (una vez que son ejecutados) y los resultados (en azul). En la de abajo van las notas, los avisos y los errores que largue el R.

description

con r comm

Transcript of Trabajhar Con El R Commander

Page 1: Trabajhar Con El R Commander

1. Descripción

Así se ve el R commander:

En la ventana de arriba se escriben los comandos (si uno elige algo del menú, el comando aparece escrito en esa ventana, lo que ayuda a aprender un poco el uso del R, y además, permite modificar los comandos si tenemos que hacerle algún pequeño ajuste.

En la ventana del medio se presentan los comandos en color rojo (una vez que son ejecutados) y los resultados (en azul).

En la de abajo van las notas, los avisos y los errores que largue el R.

Así se ve el R commander después de hacer un ANOVA (sin escribir nada en la ventana de instrucciones, todo hecho desde el menú):

Page 2: Trabajhar Con El R Commander

Estos son algunos de los menús:

Page 3: Trabajhar Con El R Commander
Page 4: Trabajhar Con El R Commander

2. Instalación

Para instalar el R commander hay que seguir una serie de pasos

1. Como es un complemento del R, hay que tener instalado el R, para los que no lo tengan y lo quieran probar:

1.a. ACÁ la versión para Windows.

1.b. Las instrucciones para las distintas versiones de Linux están ACÁ

* Para los que tengan Ubuntu y derivados, conviene agregar el repositorio del R poniendo en la terminal:

deb http://<mirror.de.cran>/bin/linux/ubuntu natty/ hay que reemplazar <mirror.de.cran> por cualquiera de ESTA LISTA (sin el "http://" ) ; y hay que reemplazar el natty por la versión de Ubuntu que tengan (karmic, lucid, maverick, etc.).

Para agregar la llave hay que poner en la terminal:

gpg --keyserver subkeys.pgp.net --recv-key E2A11821gpg -a --export E2A11821 | sudo apt-key add -

y después, para instalar el R:

sudo apt-get updatesudo apt-get install r-base r-base-dev

2. Entrar al R e instalar el paquete R commander (Rcmdr) y sus dependencias (en Linux es mejor entrar como root, o sea, sudo R).

Todo este proceso tarda un siglo!:

install.packages("Rcmdr", dependencies=TRUE)

Page 5: Trabajhar Con El R Commander

3. Para iniciar el R commander hay que poner en el R: library("Rcmdr")

Si quieren que el R commander inicie cuando se entre al R, hay que editar el archivo Rprofile.site (en Linux está en /etc/R) y agregarle esto:local({old <- getOption("defaultPackages")options(defaultPackages = c(old, "Rcmdr"))})

Otra opción es editar el archivo Renviron.site y agregar esto al final:R_DEFAULT_PACKAGES='Rcmdr'

No hagan que el R Commander inicie junto con el R si van a instalar el complemento para calcular diversidad (ver abajo), porque no les va a funcionar, ya que se tiene que cargar primero el complemento y después el R Commander.

Para más detalles o por problemas particulares vayan a las fuentes (abajo del todo).

Por algunos problemas de dependencias, algunas veces el R o el R commander no se instalan completamente, para solucionar esto, primero hay que entrar al R, después:

update.packages()

Ahí les va a dar una lista de paquetes para actualizar, le dicen que sí (y) a todos. Va a instalar uno por uno, si son muchos es un lío seguir los errores, por lo que una vez que termine conviene poner update.packages() otra vez. Si vuelven a aparecer paquetes para actualizar es porque a esos les fallan algunas dependencias. Lo mejor es instalar de a uno para no tener problemas y poder seguir los errores.

3. Complementos

Una de las grandes ventajas del R y R Commander es que al ser software libre permiten que cualquiera le vaya agregando complementos, funciones, paquetes, etc.

BiodiversityR

Page 6: Trabajhar Con El R Commander

Este complemento agrega un nuevo menú al R Commander con el que se pueden hacer en forma gráfica varios análisis vinculados a la biodiversidad.

1. Para instalarlo primero tienen que abrir el R y después poner:

install.packages("BiodiversityR", dependencies=TRUE)

2. Una vez instalado, para cargar el paquete tienen que poner:

library("BiodiversityR")

3. Para que inicie el R Commander con el nuevo menú:

BiodiversityRGUI()

4. Si quieren que cargue este complemento cada vez que se inicia el R, hay que editar el archivo Rprofile.site (en Linux está en /etc/R) para que quede así:.First <- library(BiodiversityR)BiodiversityRGUI()

Page 7: Trabajhar Con El R Commander

5. El uso es bastante similar al de cualquier base de datos que carguen en el R pero tiene algunas salvedades. Supongamos que se tiene una base de datos de abundancia de distinta especies en dos zonas, pasando los datos al Excel, o al Calc de Libreoffcie debería quedar algo así:

El tema es que para que BiodiversityR la tome como una matriz válida, sólo tienen que estar los datos de las abundancias, no los categóricos (en este caso, la columna de las zonas). Por lo tanto, para exportar los datos al R, lo más práctico es copiar la misma planilla de datos pero sin la columna con la variable independiente (en este caso, la columna A) a una nueva hoja, y después guardarla como archivo .csv e importarla en el R como se explica ACÁ.Si todo sale bien, al visualizar los datos (una vez cargados en el R) se debería ver algo así:

El paso siguiente consiste en definirla como una matriz de datos de una comunidad. Para eso eligen del menú BiodiversityR -> Community matriz -> Select community data set...

Page 8: Trabajhar Con El R Commander

En el cuadro de diálogo que se abra hay que elegir el nombre con el que se importaron los datos desde el excel (si no lo cambiaron, el nombre predefinido es Datos).Para confirmar que la base de datos se importó correctamente, pueden elegir del menú BiodiversityR -> Community matriz -> Check data sets. Si no hay ningún error o ninguna variable mal ingresada, no debería aparecer ninguna notificación nueva en la ventana de notificaciones de R Commander (la de abajo del todo). Si tienen dudas de si apareció algo o no, repiten el paso y listo.Para calcular la diversidad, riqueza, abundancia total o equitabilidad en cada muestra, hay que ir al menú BiodiversityR -> Analysis of diversity -> Diversity indices... para que se abra una ventana como la siguiente:

En esa ventana eligen lo que quieren calcular en el recuadro Diversity index, en

Page 9: Trabajhar Con El R Commander

Calculation method eligen separate per site para que calcule un índice por muestra y tildan la opción save results para que agregue a su base de datos una columna con los datos del índice que calcularon. Por último presionan OK. Si quieren agregar otro índice a la base de datos, basta con elegir el que quieran del recuadro Diversity index y vuelven a presionar OK. Una vez que hayan calculado todos los índices que quieran, presionan Cancel.Si sólo calcularon el índice de Shannon, al visualizar los datos debería salir algo así:

Para poder realizar el test que corresponda, es necesario agregar a esos datos la columna que borramos al importarlos del Excel. Para eso, o bien copian la columna con los resultados de los índices al Excel y después los vuelven a importar (pero esta vez sin borrar la columna con la variable independiente), o bien, editan los datos y a la derecha de la última columna agregan una variable definida como Character con los datos de la columna que inicialmente no se importó. Si hacen esto, al terminar de editar los datos se debería ver más o menos así:

Page 10: Trabajhar Con El R Commander

Fórmulas que ayudan en el R commander

A pedido del público que estaba esperando esta información con muchas ansias, acá van algunas fórmulas que ayudan bastante a hacer análisis estadísticos en el R.

Lo principal es instalar el R commander. ACÁ un instructivo.

* Cargar datos Hay varias formas de ingresar los datos. Una es manualmente Datos -> Nuevo conjunto de datos. Pero lo más recomendable es importar los datos desde una planilla de cálculos (Calc, Excel, etc.). Las dos opciones más fáciles son: 1. En la planilla de cálculos, marcar y copiar todos los datos, incluidos los nombres de las columnas

Page 11: Trabajhar Con El R Commander

y en el R commander Datos -> Importar datos -> desde archivo de texto, portapapeles o URL..., en Localización del archivo de datos eligen Portapapeles y en Separador de campos eligen Tabuladores.

Page 12: Trabajhar Con El R Commander

2. Guardar los datos desde la hoja de cálculos en formato "Texto separado por comas (.csv)". En el R commander Datos -> Importar datos -> desde archivo de texto, portapapeles o URL... y en Separador de campos eligen Comas

* Lógica de las funciones El R lo que hace generalmente es definir objetos y guardarlos en la memoria (o no sé dónde) para usarlos cuando los necesitemos. Los objetos se los nombra de la siguiente manera:

NOMBRE_DEL_OBJETO<-FÓRMULA

donde la fórmula variará dependiendo de lo que uno quiera hacer (ver más abajo algunos ejemplos).

* Ejecutar instrucciones

Page 13: Trabajhar Con El R Commander

La ventana de más arriba es la Ventana de instrucciones. En ella se ponen las instrucciones (obvio) que después procesará el R. Las instrucciones se pueden poner a mano como si fuera la consola del R, o a partir de cualquier menú del R commander. Lo bueno que tiene el R commander es que uno puede escribir, copiar, pegar, borrar o editar todas las instrucciones que quiera, que no se ejecutarán hasta que uno así lo disponga. Para ejecutar las instrucciones hay que posicionarse en el renglón de la instrucción y apretar el botón Ejecutar. Si uno quiere que se ejecuten varias o todas, basta con marcar las deseadas y después apretar el botón Ejecutar. En el ejemplo de abajo se ve el resultado de marcar y ejecutar el llamado al grupoY (las instrucciones las van a entender si siguen leyendo).

Page 14: Trabajhar Con El R Commander

* Seleccionar filas Un caso muy común es querer hacer algún test estadístico, pero que no se aplique a toda la matriz de datos sino a una parte en particular. Por ejemplo, evaluar la normalidad de los datos del grupo Z (ver la primera figura). Como todo en el R, hay mil formas de hacerlo, algunas más convenientes en algunos casos y otras en otros. La que es más útil sobre todo cuando los datos que nos interesan no están todos juntos es:

grupoZ<-Datos[grep("Z",Datos$Var2),]

donde grupoZ es el nombre que le di yo al objeto que va a tener los datos de la matriz pero sólo de las filas que sean del grupo Z; Datos es mi matriz de datos original (el nombre se lo di al importarlos, ver la segunda figura), grep es la función para filtrar los datos según un criterio dado, "Z" es el criterio de selección, Datos$Var2 le dice en qué columna (Var2) del objeto Datos tiene que buscar a "Z". La razón de los corchetes y esa coma sin nada después se explica abajo.

Page 15: Trabajhar Con El R Commander

Para confirmar que una selección se ha programado bien, basta con llamar al objeto de la selección (grupoZ en este ejemplo, grupoY en la imagen anterior) y ver en la Ventana de resultados si la selección es correcta (ver la figura anterior).

* Seleccionar filas y/o columnas contiguas Cuando se quiere especificar las filas o columnas de un objeto, simplemente lo que tiene que hacer es lo siguiente

OBJETO[FILAS, COLUMNAS]

donde OBJETO es el nombre del objeto, FILAS es la fila o el rango de filas a seleccionar y COLUMNAS lo mismo que FILAS pero para las columnas. Si es un rango se escribe así FILA_O_COLUMNA_INICIAL : FILA_O_COLUMNA_FINAL). Si se quiere seleccionar a todas las fila o columnas, se deja ese campo vacío y listo. Por ejemplo, para seleccionar las columnas de la 1:8 y todas las filas del objeto Obj hay que poner

Obj[,1:8]

* Seleccionar filas y/o columnas aisladas En este caso hay que seguir la misma lógica del punto anterior, pero en la parte de definir las columnas o filas (dentro de los corchetes), poner c(FILA_O_COL,FILA_O_COL,FILA_O_COL). Por ejemplo, si uno quiere seleccionar las filas 1, 4, 8 y 10 y las columnas 1 y 3:

aisladas<-Datos[c(1,4,8,10),c(1,3)]

* Unir objetos - si tenemos objetos de igual cantidad de filas y los queremos pegar uno al lado del otro:

PEGADOS_AL_LADO<-cbind(OBJETO_1,OBJETO_2)

donde PEGADOS_AL_LADO es el nombre del objeto nuevo, cbind es la función para unir columnas y OBJETO_1, OBJETO_2, etc, son los objetos que se quieren unir. SZiguiendo con el ejemplo del principio, podría ser algo así

Page 16: Trabajhar Con El R Commander

grupoYyZ<-cbind(grupoY,grupoZ)

-si lo que queremos es unir uno sobre otro, tienen que tener igual cantidad de columnas y basta con reemplazar en la fórmula anterior a cbind por rbind, por ejemplo

grupoYyZvertical<-rbind(grupoY,grupoZ)

* Aplicar funciones del R commander a objetos definidos por el usuario si uno quiere hacer un test de normalidad con el R commander, sólo lo puede hacer desde el menú para columnas enteras. No para una de las selecciones como las que venimos haciendo. Entonces, lo que conviene hacer para no tener que acordarse la fórmula de memoria es simplemente hacer el test de normalidad desde el menú Estadísticos -> Resúmenes -> Test de normalidad de Shapiro-Wilk.... eso nos va a copiar algo como esto en la Ventana de instrucciones

shapiro.test(Datos$Valores)

Gracias a eso podemos ver cómo se da la instrucción para hacer un test de normalidad. Ahora sólo queda cambiar en la Ventana de instrucciones el objeto sobre el cual hacer el test, por ejemplo:

shapiro.test(grupoZ$Valores)

esto se puede hacer cambiando el texto introducido por el R commander en la Ventana de instrucciones, o bien copiando esa fórmula y pegándola una línea abajo y recién ahí cambiándola (por si después queremos guardar todos los pasos de los análisis)

* Tukey para ANOVA de múltiples factores

Para hacer un ANOVA de más de 2 o más factores hay que ir al menú Estadísticos -> Medias -> ANOVA de múltiples factores..., elegir los factores deseados y ponerle un nombre al modelo (AnovaModel.1 en el ejemplo de abajo).

Page 17: Trabajhar Con El R Commander

Como se ve en la imagen, para hacer el ANOVA utiliza la función lm. Sin embargo, el test de Tukey no se puede aplicar sobre una función lm. Por eso, para hacer el test de Tukey en un diseño con dos o más factores (con un factor se puede hacer desde el menú), hay que copiar el renglón de la fórmula, en este caso:

AnovaModel.1 <- (lm(Valores ~ Var1*Var2, data=Datos))

pegarlo en un nuevo renglón en el final de la Ventana de instrucciones, cambiar el nombre del objeto (por ejemplo, AnovaModel.1 por AoV.1 y cambiar la función lm por aov. Lo que quedaría así:

AoV.1 <- (aov(Valores ~ Var1*Var2, data=Datos))

y para hacer el test de Tukey hay que aplicar la función TukeyHSD sobre el objeto del ANOVA calculado con la función aov, o sea, AoV.1 en este ejemplo, lo que quedaría así:

TukeyHSD(AoV.1)

Page 18: Trabajhar Con El R Commander

* Test de Levene para ANOVA de múltiples factores Con un diseño de dos o más factores como el de este ejemplo, es fácil hacer el test de Levene (homogeneidad de varianzas) para cada uno de los factores desde el menú Estadísticos -> Varianzas -> Test de Levene.... Sin embargo, no está en el menú la opción para hacer la comparación de los cuatro grupos posibles de la interacción entre los dos factores (A-Y, A-Z, B-Y y B-Z). Para hacerlo hay que seguir unos pasos parecidos a los del test de normalidad. Primero hacer el test de Levene para un factor (por ejemplo, Var1), lo que quedaría así:

leveneTest(Datos$Valores, Datos$Var1, center=median)

Después hay que copiar la fórmula resultante y pegarla en el final de la Ventana de instrucciones y cambiar el objeto del análisis, o sea, cambiar Datos$Valores, Datos$Var1 por AnovaModel.1 o AoV.1, da lo mismo cualquiera de los dos. Con lo que debería quedar algo así:

leveneTest(AnovaModel.1, center=median)

Bueno, hasta acá por hoy, después si me acuerdo de alguna otra cosa básica para agregar, la agrego. Obviamente esto es de lo más básico de lo básico del R (y por lo tanto del R commander), pero es una aproximación para entender un poco más el funcionamiento del programa. ACÁ pueden encontrar un manual con mucha más información.

Espero que a alguno le sirva. ¡Suerte!