Comenté hace mucho tiempo que R es un entorno para estadística libre que tiene, entre muchísimas otras cosas, varios paquetes para la realización de metanálisis. Al carecer de presupuesto para mis investigaciones no puedo permitirme usar SPSS (sí que podría, en los ordenadores de la Universidad de Navarra, pero me resulta complicado ir hasta allí), y el programa PSPP, con el que hice los cálculos de mi tesis sirvió, pero tiene enormes limitaciones, así que he decidido seguir trabajando con R.
Mi intención es contar en esta entrada los primeros problemas que un completo novato como yo tiene con él. No tuve especiales dificultades con la instalación, pero una vez que pones en marcha R lo que encuentras es el signo
>
A diferencia de otros paquetes, aquí no hay una tabla donde se definen las variables y se incluyen los datos para luego seleccionar las funciones que quieras aplicar, sino que se hace todo «a mano», como si fuera un lenguaje de programación (en cierto modo es eso). Me entero de que existe la posibilidad de completar el programa con un interfaz gráfico, pero, por ahora no voy a explorar esa posibilidad.
La ayuda ayuda poco
R tiene sus manuales y ayuda online. Basta con escribir
> help()
poniendo entre paréntesis el comando sobre el que se quiera la ayuda para acceder a una completa ficha sobre ese comando. Por ejemplo, si quiero saber saber más sobre cómo calcular una media, solo tengo que escribir
> help(mean)
claro que, para eso, hay que saber que la función para calcular medias se llama «mean», y la información que encuentro es exhaustiva, detallada y poco útil. Así que, asumiendo que no tengo ni idea busco algún manual diseñado para gente como yo. Los que me permiten avanzar son: R para principiantes, El entorno estadístico R: ventajas de su uso para docencia e investigación, e Introducción al entorno R. Además de eso, basta con introducir en un buscador lo que estás buscando (por ejemplo «calcular ancova en R») para encontrar un montón de explicaciones. Afortunadamente hay mucha gente que trabaja con este entorno.
Los signos <- y ->
Una de las cosas que llama enseguida la atención es que se emplean mucho los signos <- y -> para asignar valores. Son algo así como «esto equivale a la cosa que le está apuntando». Por ejemplo (yo escribo lo que está en rojo, y el programa de devuelve lo que está en azul)
> a <- 7+6
> a
[1] 13
> c <- a + 9
> c
[1] 22
Pero las cosas no solo se convierten en un número, sino que se pueden convertir en vectores o tablas. Por ejemplo:
> resultados <- c(4,3,2,9,3)
> resultados
[1] 4 3 2 9 3
> mean(resultados)
[1] 4.2
En este caso, he utilizado «c», que sirve para combinar valores en un vector o una lista, de modo que «resultados» equivale a todos los elementos de la lista, de modo que puedo calcular su media («mean»).
Importar datos
Trabajar de esa forma con colecciones muy grandes de datos es muy engorroso, pero R permite importar tablas de datos generadas con otros programas. Yo he creado una tabla con Open Office Calc y la he exportado como fichero .csv (valores separados por comas). Es importante que el fichero se encuentre en el directorio de trabajo de R. Para saber cuál es se escribe
> getwd()
(Si no te gusta lo puedes cambiar con el comando «setwd()»). Una vez que el fichero con los datos está en el directorio de trabajo lo importo de la siguiente manera:
> datos <- read.table(«comparacionmedias.csv», sep=»,»)
> datos
V1 V2
1 22 36
2 22 17
3 15 19
4 13 22
5 13 42
6 27 19
7 25 33
8 36 21
9 24 24
10 18 28
…
En este caso «sep=»,»» quiere decir que los datos de la tabla están separados por coma. Si no lo hubiera incluido las filas importadas hubieran sido
V1 V2
1 22 ,36
2 22 ,17
3 15 ,19
…
R asigna a cada columna, de forma automática un nombre de variable (V1, V2). Si yo hubiera puesto en la primera fila de mi tabla nombres para las variables como «experimental» y «control», hubiera tenido que escribir
> datos <- read.table(«comparacionmedias.csv», sep=»,», header = TRUE)
para que R reconociese esa primera línea como los nombres de las variables.
Existen otras formas de importar datos como «scan» pero, no voy a escribir de lo que no he probado.
Primeros cálculos
Una de las cosas que más quebraderos de cabeza me dio fue descubrir cómo operar con las variables (las columnas de mi tabla). La forma de hacerlo es referirse a ellas de la siguiente forma: nombre de la tabla + $ + nombre de la variable. En mi caso datos$V1 y datos$V2.
> datos$V1
[1] 22 22 15 13 13 27 25 36 24 18 23 26 17 27 26 31 25 28 14 21 25 28 29 28 26
[26] 23 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[51] NA NA NA NA
(NA es una casilla en blanco en la tabla). Incluso puedo asignarles otros nombres
> datos$V1 -> control
Una vez que he hecho estas cosas he avanzado mucho. Por ejemplo, puedo comparar los resultados del grupo experimental y de control mediante una prueba T
> t.test(datos$V1, datos$V2)
Welch Two Sample t-test
data: datos$V1 and datos$V2
t = -0.8269, df = 57.732, p-value = 0.4117
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-4.113143 1.708584
sample estimates:
mean of x mean of y
23.53846 24.74074
Desde aquí hasta la metarregresión queda un difícil camino por recorrer pero, por ahora, con estos sencillos ejercicios me queda la sensación de que he entendido el funcionamiento elemental del entorno.
Etiquetas: aplicaciones informáticas, R