domingo, 30 de enero de 2011

Paquetes de Interés común y especifico en R....

Me he tomado la tarea de revisar la lista de paquetes (2784 paquetes!!) que actualmente se pueden utilizar en R y ser descargados por CRAN.

Los paquetes que les muestro en esta lista son básicos y  pueden ser utilizados en muchos ámbitos y en muchas disciplinas..Pero como mi formación esta interesada en la biología, también liste los paquetes que considero podrían llegar a ser de interés para muchos biólogos y estudiantes...

Los paquetes de presentan por listas de temas específicos; el nombre de cada paquete se muestra con un asterisco "*" y en el siguiente reglón, debajo del nombre se presenta la descripción de dicho paquete... 


Areal Interpolation for GIS data

CShapes Dataset and Utilities

Spatial modelling for distance sampling data

ArcGIS Geoprocessing in R via Python


Anderson-Moore Algorithm

Algorithmic Experimental Design

CGI Programming in R

Design Patterns in R to build reusable object-oriented software

Various R programming tools

The java ncbi interface to R

R/GNU Linear Programming Kit Interface

Functions and Datasets for "Introduction to Scientific Programming and Simulation Using R"


The Analysis of Biological Data

A collection of statistical tools for biologists

Provides data sets for Introduction to Statistical Data Analysis for the Life Sciences

An R package for biostatistics, public policy, and law

Statistical Methods for Quality Science


Combine multi-dimensional arrays

Tools for microarray data analysis

csv import, csv export, garbage collection,string matching and passing by reference

A Handbook of Statistical Analyses Using R (2nd Edition)

Mailmerge using R, LaTeX, and the Web

Mapping dependencies among R packages

Integration of R and Excel, (use R in Excel, read/write XLS files)

R Commander

Graphically export output to LaTeX or HTML

R to LaTeX and HTML

relax – R Editor for Literate Analysis and lateX

Generate LaTeX tables of descriptive statistics

send email from inside R

Export tables to LaTeX or HTML


Tools for testing and improving accuracy of statistical results

Another Multidimensional Analysis Package

Simple and Canonical Correspondence Analysis

Basic Statistics and Data Analysis

Significance Tests for Canonical Correlation Analysis (CCA)

Generalized Canonical Discriminant Analysis

Canonical Non-symmetrical Correspondence Analysis in R

Permutation Tests of Correlation with Repeated Measurements

Conditionally Specified Logistic Regression

Functions useful in the design and ANOVA of experiments

Descriptive statistics

Nonparametric Analysis of Covariance

Fifty-fifty MANOVA

Tools for Multivariate Nonparametrics

Introduction to Probability and Statistics Using R

Introductory Statistics with R

Inference in Logistic Regression

Lassoed principal components for testing significance of features

Generalized Shapiro-Wilk test for multivariate normality

Tests for Normality


Tools for evaluating collinearity

Hierarchical Clustering with P-Values via Multiscale Bootstrap Resampling

Using GUIs to help teach statistics to non-statistics students


Analysis of Ecological Data : Exploratory and Euclidean methods in Environmental sciences

ade4 Tcl/Tk Graphical User Interface

Analysis of habitat selection by animals

Analogue and weighted averaging methods for palaeoecology

Analysis of Overdispersed Data

Brownian bridge movement model for estimating the movement path of an animal using discrete 
location data

Biodemography functions

GUI for biodiversity and community ecology analysis

Predict environmental conditions from biological observations

Analyze biotic homogenization of landscapes

Forecasting mortality, fertility, migration and population data

Species distribution modeling

Dispersion models

R Package for Ecological Inference in 2x2 Tables

Dissimilarity-based functions for ecological analysis

"A practical guide to ecological modelling - using R as a simulation platform"

Ecological regression using aggregate and individual data

Palaeoecological and Palaeogeographical Analysis Tools

Ordination and Multivariate Analysis for Ecology

Multivariate Data Handling in Ecology and Biogeography

Analysis of Mark-Recapture data

statistical methods for analysing multivariate abundance data

Paleoecological Analysis

Package for Analysis of Space-Time Ecological Series

Data analysis in ecology

Functions and data for the forthcoming, A Primer of Ecology with R

R x C Ecological Inference With Optional Incorporation of Survey Information

A package for easy generation of biodiversity (species richness) or life-history traits maps using species geographical ranges

Species Distribution Modelling Tools: Tools for processing data associated with species distribution modelling exercises

A Program to Estimate Animal Abundance and Density using Spatially-Explicit Capture-Recapture

Statistical Analysis for Environmental Data

Models and Data Sets for the Study of Species-Area Relationships

Simultaneous Confidence Intervals and Adjusted p–values for Diversity Indices

Simulation of ecological (and other) dynamic systems

SPecies Association Analysis

Interface between GRASS 6+ geographical information system and R

Community Ecology Package


adegenet: a R package for the multivariate analysis of genetic markers

A fast, unbiased and exact allelic exact test

Causal Genetic Analysis

Change point detection in genomic sequences

Data Sets and Functions, for demonstrations with expression arrays and gene sequences

Data Sets and Functions, supplementary to DAAG

Gene by Environment Interaction and Conditional Gene Tests for Nuclear Families

Gene set analysis

Identification of Periodically Expressed Genes

Simulation and analysis of spatial structure of population genetics data

Detection of structure from multilocus genetic data

Population Genetics

Plot publication-grade gene and genome maps

Statistical Analysis Tools for High Dimension Molecular Data (HDMD)

Bayesian investigation of Hardy-Weinberg Equilibrium via estimation and testing

Objective Bayesian Testing for the Hardy-Weinberg Equilibrium Problem

Graphical tests for Hardy-Weinberg equilibrium

Identifying functional polymorphisms in genetic association studies

Spatially explicit population genetic simulations

Exact tests for Linkage Disequilibrium and Hardy-Weinberg Equilibrium

Detect gene-gene interactions using multifactor dimensionality reduction

Software for constructing genetic maps in outcrossing species

Functions to facilitate power and sensitivity analyses for genetic studies of natrual popualtions

Population and Evolutionary Genetics Analysis System

Statistical and Population Genetics

Tools for mapping of quantitative traits of genetically related individuals

An individual-based population genetic simulation environment

Simulation and visualization of restriction enzyme cutting pattern from DNA sequences


adephylo: exploratory analyses for the phylogenetic comparative method

Analyses of Phylogenetic Treeshape

Analyses of Phylogenetics and Evolution

Explore life histories

Distance Between Phylogenetic Histories

diversitree: comparative phylogenetic tests of diversification

methods for analyzing introgression between divergent lineages

Likelihood Analysis of Speciation/Extinction Rates from Phylogenies

Mapping Transitions in Continuous Character Evolution

Modeling evolution in paleontological time-series

Classification using biological pathways as prior knowledge

Phylogenetic analysis in R

Basic functions for phylogenetic analysis

Phylogenetic Clustering (Phyloclustering)

Base package for phylogenetic structures and comparative data

Integrating phylogenetics and climatic niche modelling

R packge for simulating biological sequence evolution

Phylogenetic tools for ecologists

R tools for integrating phylogenies and ecology

Modelling and analysis of real-time PCR data

Biological Sequences Retrieval and Analysis

Statistical shape analysis

Estimating diversification rate changes and mass extinction events in phylogenies


Simulating trees under the birth-death model


Treemap visualization

Methods for Tree-based Local Adaptive Thresholding

Spatial analysis of animal track data


Miscellaneous plotting and utility functions


Interactive Biplots in R

GUI for Basic image operations

Biplot of Multivariate Data Based on Principal Components Analysis

R graphics device using cairo graphics library for creating high-quality bitmap (PNG, JPEG, TIFF), vector (PDF, SVG, PostScript) and display (X11 and Win32) output

Plot a correlogram

Data Analysis And Graphics data and functions

Graphic Extensions for Categorical Data

iPlots - interactive graphics for R

Plot a genome scan

Data and Functions from the book R Graphics

3D Scatter Plot

Functions for plotting graphical shapes, colors

Por ultimo, dos cositas:

La primera es que debo presentar disculpas por presentar información corta de cada paquete en ingles (ya que pues, el blog se llama "R para chibchombianos" y se supone debería escribir o explicar la mayoría de cosas en español, para la gente que no es muy afín con el ingles), pero es que el problema es que eran demasiados paquetes como uds pueden observar. De todos modos, no esta tan difícil entender la descripción de cada paquete y espero les guste.

Lo segundo es que quisiera felicitar a dos grandes amigas (SUSY ECHEVERRIA LONDOÑO Y ADRIANA MARCELA MORALES GUERRERO) por su nuevo articulo de divulgación científica titulado " cuantos somos y como no cuantificamos?" publicado en la revista- evolución, historia de la vida- de la  Asociación colombiana para el avance de la ciencias. Este trabajo tiene como tema principal los métodos de  delimitación  de especie y fue publicado en conjunto con DANIEL RAFAEL MIRANDA ESQUIVEL a quien también expreso mis felicitaciones...

Espero les guste este post y el articulo mencionado..
hasta la próxima.....

jueves, 20 de enero de 2011

Prueba de U (Mann Whitney) para muestras independientes y Pareada en R.

Después de haber visto las pruebas de T y T pareada vamos a explorar sus correspondientes pruebas no parametricas que serian la prueba de U (tambien llamada Mann Whitney ya que Fue propuesto inicialmente en 1945 por Frank Wilcoxon para muestras de igual tamaños y extendido a muestras de tamaño arbitrario como en otros sentidos por Henry B. Mann y D. R. Whitney en 1947) ver :

Basicamente lo que pretenden estas pruebas es lo mismo que buscan las pruebas de T de student, solo que dependiendo de los datos (normalidad, homogeneidad de varianzas) se deben utilizar parametricas o no parametricas. 

Para empezar debo recordar que como siempre debo cambiar mi directorio y utilizar un directorio especifico donde tengo mis matrices de datos.

Los datos que utilizaremos en este ejemplo pertenecen a la cantidad de coliformes encontrados en dos cuerpos de agua a los cuales se les ha aplicado distintos tipos de tecnicas de cloracion, asi de esta manera "Wtra" y "Wotra" son los tratamientos y las medidas se tomaron a lo largo de los cuerpos de agua!
Para la construccion de la matriz, como ya lo he dicho en otros posts se puede hacer en excel o con un editor de texto y se guarda en formato .csv en el directorio que escojamos.
la matriz es la siguiente:

  Wtra Wotra
1    44    32
2    48    40
3    36    44
4    32    44
5    51    34
6    45    30
7    54    26
8    56    NA
9   142    NA
10  148    NA

teniendo ya nuestros datos empezamos con el analisis:

>ej5 <- read.csv("ej5.csv",header=T)
#(llamo a R el archivo que cree en formato .CSV (separado por comas) !!se puede crear en excel y guardarlo en formato .csv pero se deben cambiar los ";" por "," y los decimales deben estar separados por "." no por ",")

#(asi puedo ver lo que tiene mi archivo ej5 y garantizar que no hayan errores en el archivo)

>attach (ej5)
#(para tomar mis columnas como objetos)

#(inspecciono mi homogeneidad de varianzas para aplicar U o T )

  F test to compare two variances
data:  Wtra and Wotra
F = 36.2299, num df = 9, denom df = 6,
p-value = 0.0003016alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
   6.559339 156.503082
sample estimates:
ratio of variances

# (realizo prueba de normalidad para mis datos con el tratamiento "Wtra")

 Shapiro-Wilk normality test
data:  Wtra
W = 0.6804,
p-value = 0.0005097

# (realizo prueba de normalidad para mis datos con el tratamiento "Wotra")

Shapiro-Wilk normality test

data:  Wotra
W = 0.9189,
p-value = 0.4607

# (por ultimo realizo mi prueba de U para varianzas no homogeneas (sí mi prueba de homogeneidad de varianzas me lo indica). El argumento "paired=FALSE" es el que me indica que los datos provienen de muestras independientes, si mis datos provenieran del mismo cuerpo de agua a distintos tiempos utilizariamos la U pareada y el argumento a utilizar seria "paired=TRUE")

Wilcoxon rank sum test with continuity correction
data:  Wtra and Wotra
W = 61.5, p-value = 0.01092alternative hypothesis: true location shift is not equal to 0

Mensajes de aviso perdidos
In wilcox.test.default(Wtra, Wotra, paired = FALSE, conf.level = 0.95) :
  cannot compute exact p-value with ties

>boxplot (Wtra,Wotra)
# (exploro mis datos graficamente para revisar las diferencias)

Hasta la vista!!!

lunes, 17 de enero de 2011

Prueba de T pareada en R.

A diferencia de la prueba de T para muestras independientes, la prueba de T pareada se utiliza para muestras o variables que pertenecen a un mismo individuo o entidad en estudio (por ejemplo, la altura de los niños de la guardería "gotita de gente" (viva el ICBF) antes y después de un tratamiento con bienestarina durante 6 meses). Entonces, por obvias razones las columnas deben tener el mismo numero de casillas porque esto representaría medidas antes y después de "algo".

Para explicar la T pareada utilizaremos una matriz llamada "ej4" que presenta las medidas de longitud de las alas de un ave antes y después de aplicar una vitamina. Hlength(antes) y Flength(después):

 Hlength Flength
1      142     138
2      140     136
3      144     147
4      144     139
5      142     143
6      146     141
7      149     143
8      150     145
9      142     136
10     148     146

>ej4 <- read.csv("ej4.csv",header=T)

#(leo mi matriz desde un directorio previamente escogido, tal y como se vio en el ejercicio de T para muestras independientes)

>attach (ej4)

#(tomo mis columnas como objetos para realizar el análisis)

> var.test(Hlength,Flength)

# (Realizo mi test de homogeneidad de varianzas, para saber si debo realizar una prueba de T o de U)

        F test to compare two variances
data:  Hlength and Flength
F = 0.7111, num df = 9, denom df = 9, p-value = 0.6197
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.1766186 2.8627458
sample estimates:
ratio of variances

> shapiro.test(Hlength)
#(Prueba de normalidad para mis datos antes de la vitamina)

Shapiro-Wilk normality test
data:  Hlength
W = 0.9258, p-value = 0.408

> shapiro.test(Flength)
#(Prueba de normalidad para mis datos después de la vitamina)

 Shapiro-Wilk normality test
data:  Flength
W = 0.9306, p-value = 0.4541

> t.test(Hlength,Flength,"two.sided",paired=TRUE)
#(realizo mi prueba de T pareada, para dos colas, el argumento "paired=TRUE" es el que le dice a R que la prueba que debe realizar es pareada de lo contrario el argumento deberia ser cambiado por "paired=FALSE")

 Paired t-test
data:  Hlength and Flength
t = 3.4138, df = 9, p-value = 0.007703
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 1.113248 5.486752
sample estimates:
mean of the differences
> boxplot (Hlength,Flength)
#(visualizo mis resultados gráficamente con un diagrama de cajas y bigotes)

Y hemos terminado con nuestro análisis!!!!, es importante recomendar que se debe leer algo de fundamento teórico acerca de las pruebas que se realizan acá para que no se pierdan con los resultados y las bases de los análisis!!!

hasta la vista!

martes, 11 de enero de 2011

R 2.12.1 y Prueba de T para muestras independientes.

Primero que todo debo contarles que ya esta lista la nueva version de R (2.12.1) y es descargable desde este link, como siempre free o al gratin, como nos gusta la cerveza.
Esta ultima version esta disponible para todos los sistemas operativos y no tiene mas de un mes de haber visto la luz.....

Por otro lado estuve pensando (porque aveces tengo ideas) y creo que lo mejor es empezar por una prueba bien basal, superbasal, ya que intente explicarle a un amigo algo basico de R y aun cree que es mas facil la calculadora de hacer cuentas del fiado de la tienda!!!. Pero de todos modos siento ahora que tuve la culpa porque trate de explicarle que es "linea de comandos" con una simple suma con los argumentos:

> a<- 4+4
> a
[1] 8

Simplemente el tomo la calculadora y le dio 4+4= 8.
Asi que ahora creo que lo que queria explicarle necesitaba hacerlo de otra manera; por ende la primer prueba que intentare precisar es la prueba de T para muestras independientes, ya que es una prueba ampliamente utilizada en muchos campos (talvez a mi amigo le sirva en su calidad de ingeniero de alimentos, aun mas de lo que le "sirven" los landmarks).

Para empezar dire que es una prueba basica que no tiene muchos requerimientos, solo necesita que los datos tengan varianzas homogeneas y que sean normales, de lo contrario la prueba que se debe aplicar no es la de T sino la prueba de U. Aunque muchas personas afirman que la prueba de T es altamente robusta y puede soportar que las varianzas no sean homogeneas y que no cumplan normalidad. En cualquier caso R provee argumentos para realizar prueba de T para varianzas no homogeneas, por lo cual no hay mucha necesidad de discutir los parametros de los datos para realizar esta prueba.

Entonces lo primero que uno debe hacer es crear su matriz de datos (uno puede crear los datos directamente en R, pero el problema es que es mucho mas facil mantenerlos como tablas .txt o en .csv como matrices cuando uno tiene gran cantidad de datos). Esto se puede hacer con excel o mas facil en documentos  de texto y se salvan con el formato deseado. Para este caso utilizaremos el formato .csv que es un archivo separado por comas y hay que aclarar que R utiliza el punto (.) como separacion de decimales y no la coma, ya que con esta el caracteriza las columnas.

entonces en un documento de texto basicamente se escriben los datos:


podemos darnos cuenta que existen dos columnas, estos datos son de unas plantas que han sido tratadas con dos tipos de fertilizantes (P y N) y lo que queremos saber es si existe diferencia entre el largo del tallo de las plantas tratadas con diferente fertilizante.

por esta razon el encabezado de las columnas es Pfert y Nfert. y los datos que se escriben hacia abajo de ellas son la longitud de los tallos de varios individuos tratados.
Al escribir esto en un documento de texto utilizando un blog de notas, geany o cualquier editor de texto simplemente se salva el archivo con el siguiente nombre

indicando que el archivo esta delimitado por comas.

Una vez creado mi archivo lo pongo en un directorio determinado (podria ser hasta el escritorio) y cambio el directorio de archivos en r.
Esto se hace en windows con el mouse utilizando la barra de herramientas y dandole a cambiar el directorio. y en linux se utiliza el comando:

> setwd (aca va la direccion en donde estan mis datos sobre la cual voy a trabajar en R)

Y fuimonos.......

> ej21 <- read.csv("ej21.csv",header=T)
#(llamo a R el archivo que cree en formato .CSV (separado por comas) !!se puede crear 
en excel y guardarlo en formato .csv pero se deben cambiar los ";" por "," y 
los decimales deben estar separados por "." no por ","en cualquier directorio).
#(asi puedo ver los objetos que he creado en R, que hasta este momento solo seria 
uno "ej21")
#(asi puedo ver lo que tiene mi archivo ej21 y garantizar que no hayan errores en el 
>attach (ej21) 
#(para tomar mis colomnas como objetos) 
>boxplot(Pfert,Nfert,ylab="Largo de la planta [cm]", xlab="fertilizantes")
#(inspecciono mis datos mediante un grafico apropiado de caja y bigotes)
# (realizo prueba de normalidad para mis datos con el fertilizante P)
mis resultados serian:

Shapiro-Wilk normality test

data:  Pfert 
W = 0.9512, p-value = 0.6833
#(realizo prueba de normalidad para mis datos con el fertilizante N) 
mis resultados serian:

Shapiro-Wilk normality test

data:  Nfert 
W = 0.9705, p-value = 0.9021

#(realizo una prueba de homogeneidad de varianzas, tambien llamada prueba de F para 
saber si mis varianzas son homogeneas)

F test to compare two variances

data:  Pfert and Nfert 
F = 1.149, num df = 9, denom df = 7, p-value = 0.8744
alternative hypothesis: true ratio of variances is not equal to 1 
95 percent confidence interval:
 0.2382247 4.8224457 
sample estimates:
ratio of variances 
> t.test(Pfert,Nfert,alternative="two.sided",var.equal=T) 
# (por ultimo realizo mi prueba de T para varianzas homogeneas (si mi prueba de 
homogeneidad de varianzas me lo indica)(el argumento "var.equal=T" o "var.equal=TRUE" 
indica que mis varianzas son homogeneas, si no lo fueran se pondria "var.equal=F" o 
"var.equal=FALSE" )
# (y el argumento (alternative="two.sided") se pone cuando quiero realizar una 
prueba de dos colas, como utilizaremos en este caso.)

Two Sample t-test

data:  Pfert and Nfert 
t = -2.9884, df = 16, p-value = 0.008686
alternative hypothesis: true difference in means is not equal to 0 
95 percent confidence interval:
 -7.931470 -1.348530 
sample estimates:
mean of x mean of y 
    51.91     56.55 

Y listo!!!
nos pillamos!!!