0% encontró este documento útil (0 votos)
93 vistas14 páginas

Introducción a R para Análisis Estadístico

Este documento presenta una introducción al software R. R es un software estadístico y de cómputo abierto que permite realizar análisis de datos, simulaciones y gráficas. El documento explica que R es gratuito y de código abierto, lo que permite a los usuarios descargar paquetes adicionales. Además, provee instrucciones básicas sobre cómo instalar y usar R, incluyendo ejemplos de comandos matemáticos y estadísticos. El objetivo del laboratorio es familiarizar a los estudiantes con

Cargado por

Kritho Medina
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
93 vistas14 páginas

Introducción a R para Análisis Estadístico

Este documento presenta una introducción al software R. R es un software estadístico y de cómputo abierto que permite realizar análisis de datos, simulaciones y gráficas. El documento explica que R es gratuito y de código abierto, lo que permite a los usuarios descargar paquetes adicionales. Además, provee instrucciones básicas sobre cómo instalar y usar R, incluyendo ejemplos de comandos matemáticos y estadísticos. El objetivo del laboratorio es familiarizar a los estudiantes con

Cargado por

Kritho Medina
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Inferencia e Informática

BIOL 2205: Laboratorio (clase jueves)


Asistente graduado: Melissa Hernandez Poveda, Daniel Vivas-Barreto y Victor Araújo
Monitores: Juan Fernando Meza Prada, Mario Esteban Perez Rodríguez y Santiago Cortez Calderon
Profesores: Andrew J. Crawford y Alejandro Reyes
Departamento de Ciencias Biológicas, Universidad de los Andes
Semestre 2021-20
_______________________________________________________________________

Lab 1 – Introducción a R

R es varias cosas: un software estadístico, una plataforma para paquetes de software de análisis y finalmente
un lenguaje de programación. No solo ofrece funciones y algoritmos estadísticos tradicionales, si no también
permite crear los propios. R es usado para la manipulación de datos, análisis estadísticos, simulaciones, y
gráficas. R podría definirse como una implementación del lenguaje ‘S’, el cual fue desarrollado en Bell
Laboratories (donde inventaron Unix también) por Rick Becker, John Chambers y Allan Wilks (1976) y es la
base de ‘S‐Plus’. R fue escrito inicialmente por Ross Ihaka y Robert Gentleman del Departamento de Estadística
de la Universidad de Auckland, Nueva Zelanda en 1993. Desde 1997 existe el International “R core” team.

El aspecto más importante de R es que es gratis y abierto. ‘Gratis’ implica que nunca te costaría un peso para
tener acceso a ello -- aunque existen versiones de software R que sí cuentas, como RStudio Pro, pero en su
esencia, en su core, es sólo R, y R sigue gratis. ‘Abierto’ implica que es ‘open source’. Cualquier persona puede
mirar el código detrás del interfaz, y desarrollar sus propias herramientas. Así la demora entre que alguien
inventa un nuevo análisis y que esté incorporado en R es mínima, y cualquier puede inventar nuevos paquetes
que se pueden correr en esta plataforma. ¿Pero cómo se sabe que es confiable? Primero, existe un repositorio
oficial de paquetes, se llama CRAN. Por ejemplo, si quieres hacer análisis de datos genéticos de varios tipos,
mira este ‘task view’ https://CRAN.R-project.org/view=Genetics. Segundo, dado que R es abierto, cualquiera
persona puede revisar el código y sí se encuentran errores, las correcciones se pueden subir rápido (no es como
esperar a Microsoft que sacan una nueva versión de Excel).

Ventajas Desventajas
Muchos investigadores proveen sus métodos en términos Inicialmente no es amigable, con
de R paciencia este obstáculo es superado.
Maneja lenguaje de programación lo que permite realizar No hay garantías de fábrica
análisis más profundos y flexibles.
Permite hacer simulaciones
Se pueden trabajar varios grupos de datos al mismo
tiempo
Las “funciones” pueden ser creadas o modificadas para
responder a necesidades específicas.
Existen más de 2500 paquetes que permiten análisis de
conjuntos de tipos específicos de datos.
Licencia pública (gratis y libre)
Disponible para cualquier sistema operativo
*Mucho del entendimiento de R es una experiencia interactiva.

Existe una gran disponibilidad de manuales e información sobre R, como:

The Comprehensive R Archive Network


Getting Help with R
R Handbook: Purpose of this Book
Statistics with R

Mira el Programa de este curso para encontrar más recursos online para ayudarte en tu proceso de aprendizaje e
uso de R, como libros, cursos, y blogs.

Objetivo del Lab de hoy

El objetivo de este laboratorio es adquirir familiaridad con los comandos básicos de R y con las reglas
sintácticas más importantes.

Instalación

Es posible instalar R en cualquier plataforma: Windows, Linux, y para MacOS X vienen con GUI y para el
Terminal (la versión de Unix-like OS en Mac se llama ‘Darwin’). Para las instrucciones de descarga sería
necesario visitar https://cran.r-project.org/index.html.

Para conseguir RStudio (lo recomendamos por ser más amigable) visitar
https://rstudio.com/products/rstudio/download/ y hacerle clik abajo la versión ‘Desktop’ y ‘Free’.

Paquetes

R es un entorno en el que se han implementado muchas técnicas estadísticas, algunas están incluidas en el
entorno R y otras están disponibles en forma de paquetes. Normalmente R incluye varios paquetes, pero muchos
otros se encuentran en la página de inicio de R en el enlace CRAN arriba, y también directamente de R y de
RStudio sin abrir un web browser. Un paquete es cargado a una librería en R. Una librería es un directorio que
contiene los paquetes instalados. S El set de paquetes cargados por defecto al instalar el programa pueden ser
observados usando el comando library(). También se pueden observar en la esquina inferior derecha en
RStudio, al hacer click en “packages”. Tanto el comando como la ventana en RStudio muestran todos los
programas previamente instalados y una pequeña descripción de cada uno.
El comando installed.packages() también permite ver los paquetes instalados pero este los muestra en
la misma consola de R.

Interacción con R

R tiene ancestría compartida con Unix (Bell Labs), y en lo básico, van a observar similitudes entre los dos,
como por ej., la línea de comandos, los $PATH, la memoria de comandos recientes, y la capacidad de ejecutar
scripts como en bash shell. Como en Unix, R se da por medio de una línea de comandos o prompt. Para los que
conocen Python, van a observar algunas similitudes entre eso y R. El programa nos presenta un mensaje de
bienvenida y el símbolo ‘>’ seguido de un cursor pulsante. Este símbolo nos informa que R está listo para recibir
instrucciones. Estas instrucciones son denominadas comandos, igual que en Unix. Los comandos son utilizados
para desarrollar algún tipo de análisis, crear figuras o realizar alguna operación matemática. No es posible
recordar todos los comandos de R, pero hay algunos fundamentales y claves para su uso. Todos los comandos
pueden ser encontrados en los documentos de ayuda en Internet o en el mismo software. Los comandos son una
palabra sin espacios que llama una función en particular. Adicionalmente, para que el comando funcione es
necesario especificar los argumentos, pero diferente a Unix, los argumentos no son ‘flags’ como en Unix, sino
van normalmente dentro de paréntesis:

Los argumentos variarán según sea el comando que estemos utilizando pero en general hacen referencia al
conjunto de datos sobre el cual queremos realizar el análisis o los parámetros que van a ser utilizados para el
análisis. Uno de los comandos más útiles que tiene R es help(),este solicita a R ayuda sobre el comando o
función que se especifique en el paréntesis. Por ejemplo:

>help(mean) ó
>?(mean)

Este comando saque de CRAN la información correspondiente al comando sobre el cual queremos conocer.
El archivo se llama Documentation, análogo a los man files (‘man’ de ‘manual’) en Unix. En RStudio se abrirá
una de las 4 ventanas de RStudio donde se mostrará una descripción del comando, cuál es su uso, y cuáles son
los argumentos que se necesitan para ejecutar el comando.

Es muy importante introducir el nombre exacto del comando sobre el cual se requiere información, es decir
debemos conocer el comando. Si por el contrario queremos saber como hacer un análisis en R pero no
conocemos el nombre específico del comando, podemos usar el comando help.search("").

Este nos abre una nueva ventana que muestra cuál de los archivos de Documentation contiene la palabra que
hemos indicado y nos muestra en qué paquete de R se encuentra. Recuerden que deben escribir la palabra en
inglés para que R realice la búsqueda. Por ejemplo:

>help.search("anova") ó
>??anova
Otra forma de encontrar el nombre del comando que necesitamos es utilizar: apropos(""). Este realiza
una búsqueda y nos muestra cuales de los objetos en R contienen el parámetro de búsqueda que hemos utilizado.
Por ejemplo:

>apropos("anova") , Nos muestra:

Adicionalmente podemos encontrar el comando help.start() que abre una nueva ventana en el buscador
de Internet (o en una de las ventanas de RStudio donde podemos encontrar ayudas adicionales como manuales,
paquetes o información misma del software.

* Estas funciones pueden variar un poco dependiendo del sistema operativo en el que se esté trabajando, pero
básicamente nos permiten hacer las mismas cosas.

Funciones básicas
Para iniciar la interacción con R comenzaremos con operaciones matemáticas simples. R realiza cualquier
operación, fórmulas trigonométricas o algebraicas tal como lo hace cualquiera de sus calculadoras. (De hecho yo
uso R como la calculadora de mi computadora -- lástima no existe R para los celulares.)

Por ejemplo:

>85+12
>56-29
>8*8
>70/100

O funciones como por ejemplo:

> log(2)

Los exponentes se obtienen utilizando el operador ‘^’ ó ‘**’

>5^5
>5**5

R reconoce que las operaciones matemáticas tienen diferentes niveles de precedencia, donde los exponentes y
multiplicaciones preceden a las sumas y las restas. De tal forma que:

> 2+3*2-2^3
[1] 0

Es muy diferente de

> ((2+3)*2-2)^3
[1] 512

*Es importante el uso de paréntesis para estructurar las operaciones

Objetos en R

Cualquier cosa que sea creada en R es un objeto (vector, matriz, función, lista, marco de datos, resultado o
figura) y puede ser utilizado y manipulado. Los procedimientos creados para un objeto en particular pueden
funcionar en teoría para cualquier otro objeto. Por ejemplo, una función diseñada para determinar el número de
datos en una variable numérica, puede también ser empleada para calcular el número de entradas en una lista, el
número de celdas en una matriz y finalmente el número de grados de libertad en un análisis.

Para crear un objeto en R se le asigna un nombre, la manera de hacerlo es mediante el operador ‘<‐’ (menor
qué y el guión). Por ejemplo:

>altura <- 1.30


(para los usuarios de Mac, ‘option -’ es lo mismo que ‘ <- ’)

En este momento R interpreta que el objeto ‘altura’ tiene un valor numérico. Cualquier operación sobre el
objeto ‘altura’ se realizará sobre el valor ‘1.3’. Es recomendable dar nombres diferentes a los objetos. Los
objetos pueden ser y tener diferentes tipos de unidades (vectores, matrices, datos numéricos, lógicos y
complejos). Para saber el tipo de objeto se utiliza el comando mode(objeto), donde objeto se sustituye el
nombre del objeto de interés. Por ejemplo:

>mode(altura)
[1] “numeric”

* También se puede utilizar ‘=’, pero no es muy recomendable. La flecha ‘ <- ’ deja claro cuál valor vamos a
designar a cual.

1. Vectores

Son uno de los objetos más utilizados en un análisis con R, pues la mayoría de las veces los datos son
guardados en este tipo de objetos. Los vectores son creados con el comando c(), ‘c’ proviene de concatenar.
Los vectores pueden ser numéricos, alfanuméricos, lógicos o complejos según el tipo de datos.
Para crear un vector numérico que contiene los datos: 34, 13, 65, 10; y asignarlos al objeto ‘tiempo’ usamos:

>tiempo <- c(34,13,65,10)

Los valores están agrupados dentro del comando c() separados por comas. Fijense que con o sin un espacio
entre elementos no importante: el comando arriba es lo mismo que tiempo <- c( 34, 13, 65, 10 ) ,
y es cuestión de a usted qué le parece más fácil de leer. Tenga en cuenta que R es en inglés y por ende se utiliza
el punto ‘.’ como separador decimal y la coma ‘,’ para separar unidades del vector. [Nunca se escribe números
enteros con un ‘,’ -- siempre ‘1000’ (o 10^3), nunca ‘1,000’.] Si desea verificar que el objeto fue asignado
correctamente podría llamarlo:

>tiempo
[1] 34 13 65 10

Si el vector no tiene números sino caracteres:

>estacion <- c("seca", "semiseca", "semilluviosa", "lluviosa")

Las comillas son necesarias para indicar que son valores no‐numéricos. Intente conocer el tipo de vector que
ha creado:

>mode(estacion)
[1] "character"

Con los vectores numéricos se pueden realizar cálculos matemáticos utilizando todos sus componentes. Por
ejemplo:
>tiempo+5
[1] 39 18 70 15

>tiempo*(1/100) ó >tiempo*0.01
[1] 0.34 0.13 0.65 0.10

Si lo que se desea es modificar un objeto se debe realizar una asignación (las operaciones que se hacen sobre
el objeto no lo modifican). Para cambiar permanentemente un vector u objeto se debe asignar el cambio al objeto
(el cambio es definitivo), es decir:

>tiempo
[1] 34 13 65 10

>tiempo <- tiempo*(1/100)

>tiempo
[1] 0.34 0.13 0.65 0.10

>tiempo <- tiempo*(100)

>tiempo
[1] 34 13 65 10

Es recomendable colocar nuevos nombres a los objetos que han sido modificados y de esta forma conservar
el objeto base y el objeto nuevo:

>tiempo2 <- tiempo*(1/100)

¡OJO! Cuando se emplean funciones con vectores, en algunos casos es necesario hacer cada parte de la
función por separado y luego reunir las partes.

Los cálculos con vectores no numéricos serán reportados como errores:

>estacion - 1
Error: objeto 'estacion' no encontrado

El comando length(x) determina la longitud de un objeto, contando el número de unidades que contiene.
Por ejemplo:

>length(altura)
>length(tiempo)
>length(estacion)
2. Matrices

Una matriz es un grupo de elementos que están organizados en filas y columnas.

>matriz <- matrix(data=NA, nrow=1, ncol=1, byrow=FALSE,


dimnames=NULL)

>matriz <- matrix(c(datos), #Introducir los datos.

byrow=T, #Instrucción que indica que la columna debe ser llenada por filas.

ncol=3, #Número de columnas de la matriz.

nrow=2, #Número de filas de la matriz.

dimnames=list( #Argumento para poner nombres a las filas y las columnas de la


matriz.

Nombre_filas=c("Fila_1","Fila_2"),

#Primero ponemos el nombre de las filas. Usamos concatenar,


pues tenemos dos filas y queremos especificar el nombre de cada
una de ellas.

Nombre_Columnas=c("Columna_1","Columna_2",”Columna_3)))

#Hacemos lo mismo para las columnas, cuidado con cerrar todos


los paréntesis.

Por ejemplo:

>matrizejemplo <-
matrix(c(23,58,98,54,68,74),nrow=2,ncol=3,dimnames=list(Filas_ejemplo
=c(“fila1”,”fila2”),Columnas_ejemplo=c(“colum1”,”colum2”,”colum3”)))

> matrizejemplo
Columnas_ejemplo
Filas_ejemplo colum1 colum2 colum3
fila1 23 98 68
fila2 58 54 74

3. Listas
Las listas son conjuntos de objetos ordenados. Dentro de una lista, los objetos se conocen como componentes.
Las listas pueden ser útiles si queremos agrupar objetos de diferente tipos (vectores, caracteres, numéricos). En
el ejemplo de la matriz, usamos una lista para nombrar las filas y las columnas de la matriz. Dentro de una lista
los componentes pueden ser de diferentes modos:

>lista_ejemplo<-list(componente_1="texto",componente_2=35,componente_3
=c(10,20,30))

>lista_ejemplo
$componente_1
[1] "texto"

$componente_2
[1] 35

$componente_3
[1] 10 20 30

4. Marcos de datos

Los data frames son estructuras de datos de dos dimensiones (rectangulares) que, a diferencia de las
matrices, pueden contener datos de diferentes tipos, por lo tanto, son heterogéneas. Aunque cada
columna puede tener un tipo diferente de datos, dentro de cada columna se debe mantener dicho tipo.

Esta estructura de datos es la más usada para realizar análisis de datos. Al observar un marco de
datos o data frame, los renglones representan casos, individuos u muestras, mientras que las columnas
representan atributos, rasgos o variables. Es importante resaltar que cada columna está guardada como
un vector.

Para crear un data frame necesitamos utilizar el comando data.frame()y especificar cada uno
de los vectores (columnas) que compondrán dicho marco de datos. Por ejemplo:

primer_df <- data.frame(


"numero" = 1:4,
"color" = c("azul", "amarillo", "morado", "verde"),
"altura" = c(123.2, 133.4, 134.5, 125.6),
"identificador" = as.character(c("a", "b", "c", "d"))
)

Al llamar nuestro data frame primer_df, observamos:

numero color altura identificador


1 1 azul 123.2 a
2 2 amarillo 133.4 b
3 3 morado 134.5 c
4 4 verde 125.6 d

En muchas ocasiones, los marcos de datos se encuentran en archivos externos de tipo .txt, .csv, .tsv,
.xlsx. Para cada uno de ellos existe un comando particular, por ejemplo, si quisiera cargar la base de
datos llamada Tortugas.txt, que se encuentra en el mismo directorio de trabajo (pueden usar getwd()
para ver el directorio de trabajo y setwd() para cambiarlo), se realiza lo siguiente:

Tortugas <- read.table(“Tortugas.txt”, header=TRUE)

Para leer archivos que provengan de Excel (.xls, .xlsx), hay varias opciones. Una de ellas es abrirla
en Excel o Google Sheets y guardar un archivo nuevo como texto delimitado por comas (.csv) o
tabulaciones (.txt) e importarlo de esa manera en R. Otra alternativa es usar paquetes externos que
pueden importar tablas de Excel directamente, como readxl y su método read_excel().

Gráfica: Histograma

El histograma de un conjunto de datos es un gráfico de barras en el que se representan las


frecuencias con que aparecen las mediciones agrupadas en rangos o intervalos. Para construir un
histograma se debe dividir la recta real en intervalos o clases (algunos recomiendan que sean de igual
longitud) y luego contar cuantas observaciones caen en cada uno de estos intervalos. En R el comando
básico con el cual se obtiene este tipo de gráfico es hist(). Como ejemplo utilizaremos los datos
“Tortugas.txt” en donde encontramos la temperatura y el número de machos y hembras nacidos por
nidos muestreado. Para estos datos se muestrearon nidos de 3 especies diferentes: Chelonia mydas,
Caretta caretta y Dermochelys coriacea. Compararemos la frecuencia en el número de hembras y de
machos que nacieron en todos los nidos (para todas las especies). Es decir, vamos a ver con qué
frecuencia en los nidos se dieron pocos nacimientos y en qué frecuencia se dieron muchos nacimientos
y compararemos entre los nacimientos para los dos sexos.

Una buena forma para hacer la comparación sería tener las dos gráficas en una sola. Esto lo
podemos hacer modificando los parámetros del área del gráfico, para lo que usamos el comando
par() . Para esto usaremos el argumento mfcol, en el cual debemos especificar el número de filas y
columnas en las que queremos dividir el área, de esta forma:

> par(mfcol=c(1,2))

Luego el área será llenada por columnas, es decir se irán poniendo las gráficas en la primera
columna hasta que esta se llene y de ahí pasará a la columna siguiente y así sucesivamente. Después de
hacer esto, especificamos los comandos para crear el histograma:
> hist(Tortugas$numero.hembras,breaks = 5, main ="Frecuencia de
nacimientos en los nidos, n=60", xlab="Hembras", ylab="Frecuencia",
col="indianred3")

1. En el caso de un histograma solo debemos especificar la variable de que nos interesa pues el
programa calculará la frecuencia para cada uno de los valores al interior de esta. En este caso la
columna numero.hembras del dataframe Tortugas.
2. El comando breaks nos permite especificar cuántas divisiones (rangos) queremos que se
hagan a nuestra variable para hacer el conteo de las frecuencias.
3. El argumento main sirve para poner un título principal.
4. xlab permite poner un nombre al eje x.
5. ylab Permite poner un nombre al eje y.
6. Finalmente, col determina el color de las barras.

Al ejecutar el bloque de comandos podrán observar que un primer histograma de color rojo sale en
la mitad del área de gráfica. Ahora debemos introducir el comando para el segundo histograma, que
aparecerá a la derecha de este, y que corresponderá a la frecuencia de machos en los nidos de las tres
especies de tortugas. El comando en este caso sería:

> hist(Tortugas$numero.machos,breaks = 5, main ="Frecuencia de


nacimientos en los nidos, n=60", xlab="Machos", ylab="Frecuencia",
col="lightblue4")

La gráfica que obtenemos al final es la siguiente:


Aunque en los artículos no solemos utilizar títulos sino pie de imagen con la descripción de las
gráficas, este puede ser un buen ejercicio para guardar información que necesiten en gráficas borrador o
para presentaciones. Un dato muy importante que siempre debe ir en el pie de imagen es el número de
muestras utilizadas para generar la gráfica. En este caso 60, pueden confirmar esta información
corriendo el comando nrow(Tortugas)o simplemente viendo la numeración de filas del marco de
datos Tortugas al llamarlo (ejecutando Tortugas).

Si quisiéramos que cada barra representara una unidad en los histogramas para tener una
distribución más precisa, podríamos cambiar el parámetro breaks. En este caso basta con cambiarlo por
10:

> hist(Tortugas$numero.machos,breaks = 10, main ="Frecuencia de


nacimientos en los nidos, n=60", xlab="Machos", ylab="Frecuencia",
col="lightblue4")

Al hacer esto para ambas gráficas obtenemos lo siguiente:

Qué pasa si queremos hacer una gráfica teniendo en cuenta una sola especie y no las tres. Para esto
podemos hacer un subconjunto de nuestro marco de datos Tortugas y graficar a partir de este
subconjunto. Para crear subconjuntos en R podemos usar el comando subset(). Por ejemplo, Si
quisiéramos crear un data frame únicamente con los datos de la especie Caretta caretta podemos
hacerlo de la siguiente manera:
> C_caretta <- subset(Tortugas,Especie=="Caretta_caretta")

El comando anterior crea un subconjunto de nuestro data frame Totugas y lo llama C_caretta.
Este subconjunto va a contener todos los datos de Tortugas en los que la variable Especie (primera
columna) corresponda a Caretta_caretta. Si llamamos nuestro nuevo data frame obtenemos:

Especie Tem.prom_nidos numero.hembras numero.machos proporcion.sexos


2 Caretta_caretta 32.01 15 12 1.25
5 Caretta_caretta 32.50 10 13 0.77
21 Caretta_caretta 32.53 7 8 0.88
22 Caretta_caretta 31.11 11 11 1.00
23 Caretta_caretta 32.36 15 6 2.50
24 Caretta_caretta 30.01 13 7 1.86
28 Caretta_caretta 30.30 13 6 2.17
34 Caretta_caretta 31.09 7 10 0.70
35 Caretta_caretta 32.49 7 15 0.47
36 Caretta_caretta 32.78 14 15 0.93
37 Caretta_caretta 32.58 8 11 0.73
42 Caretta_caretta 34.92 14 7 2.00
43 Caretta_caretta 35.29 14 8 1.75
49 Caretta_caretta 34.43 12 12 1.00
50 Caretta_caretta 36.65 12 5 2.40
53 Caretta_caretta 34.48 15 7 2.14
54 Caretta_caretta 33.87 12 7 1.71

A partir de estos datos podríamos volver a graficar nuestros histogramas.

Finalizar sesión

Para finalizar una sesión con R, se digita el comando q(). Nos preguntará si queremos guardar la imagen del
área de trabajo (todos los objetos creados por el usuario y R durante la sesión; no incluye, resultados, mensajes
de error, pruebas estadísticas, etc). Si se decide guardar, se nos pregunta el directorio de destino. Los archivos
guardados por R tienen la terminación .rdata y solo pueden ser leídos en R. Si no se desea guardar el espacio
de trabajo se puede utilizar el comando q("no") o si se desea guardar directamente q("yes").

Referencias

Crawley MJ (2015) Statistics: An Introduction Using R, Second Edn. Wiley, Chichester, West Sussex, England, U.K. Página
web del libro con ejercicios, datos, y scripts: http://www.bio.ic.ac.uk/research/crawley/statistics

También podría gustarte