R es un lenguaje de alto nivel y un entorno para el análisis de datos y gráficos más potente y profesional que existe actualmente para realizar tareas estadísticas de todo tipo, desde las más elementales, hasta las más avanzadas (R Core Team 2016). Cuenta, además, con la ventaja de ser gratuito y de descarga e instalación sencillas. El software puede descargarse libremente del sitio llamado CRAN (Comprehensive R Archive Network) en la siguiente dirección: http://cran.r-project.org o bien, simplemente buscando r-project
en Google (Figura )
Sitio http://cran.r-project.org para la descarga de R
R es un conjunto integrado de programas para manipulación de datos, cálculo y gráficos. Entre otras características dispone de:
El lenguaje R permite al usuario, por ejemplo, programar bucles (loops en inglés) para analizar conjuntos sucesivos de datos (Crawley 2007; Loo and Jonge 2012). También es posible combinar en un solo programa diferentes funciones estadísticas para realizar análisis más complejos. Usuarios de R tienen a su disponibilidad un gran número de programas escritos para R y disponibles en la red.
Al principio, R puede parecer demasiado complejo para el no-especialista. Esto no es cierto necesariamente. De hecho, una de las características más sobresalientes de R es su enorme flexibilidad. Mientras que programas más clásicos muestran directamente los resultados de un análisis, R guarda estos resultados como un objeto, de tal manera que se puede hacer un análisis sin necesidad de mostrar su resultado inmediatamente.
R es un lenguaje Orientado a Objetos: bajo este complejo término se esconde la simplicidad y flexibilidad de R. Orientado a Objetos significa que las variables, datos, funciones, resultados, etc., se guardan en la memoria activa del computador en forma de objetos con un nombre específico. El usuario puede modificar o manipular estos objetos con operadores (aritméticos, lógicos, y comparativos) y funciones (que a su vez son objetos).
Todas las acciones en R se realizan con objetos que son guardados en la memoria activa del ordenador, sin usar archivos temporales (R Core Team 2000). La lectura y escritura de archivos solo se realiza para la entrada y salida de datos y resultados (gráficas). El usuario ejecuta las funciones con la ayuda de comandos definidos. Los resultados se pueden visualizar directamente en la pantalla, guardar en un objeto o escribir directamente en el disco (particularmente para gráficos). Debido a que los resultados mismos son objetos, pueden ser considerados como datos y analizados como tal. Archivos que contengan datos pueden ser leídos directamente desde el disco local o en un servidor remoto a través de la red.
El comando más simple es escribir el nombre de un objeto para visualizar su contenido. Por ejemplo, si un objeto n contiene el valor 10:
n <- 10
n
## [1] 10
Los objetivos de esta clase y guía son aclarar con ejemplos concretos los conceptos básicos de la estadística aplicada.
RStudio es un entorno de desarrollo integrado (IDE) para R (Figura ). Es software libre con licencia GPLv3 y se puede ejecutar sobre distintas plataformas (Windows, Mac, o Linux) (Loo and Jonge 2012).
Vista del IDE RStudio y sus cuatro panales de trabajo
Entre otras cosas encontramos que RStudio :
El en siguiente blog se puede obtener más información precisa de como instalar ambos programas R y RStudio en tu laptop o desktop: http://blog.urcera.com/wordpress/?p=242.
Frecuentemente se necesita integrar nuevas librerías de R para ayudarnos con el manejo de datos (Loo and Jonge 2012). Estas se encuentran publicadas en “Comprehensive R Archive Network (CRAN)”, pero en Rstudio podemos instalarlas directamente siguiendo los siguientes pasos.
En el panel inferior derecho de la pantalla de Rstudio se encuentra la pestaña Packages se da clic en esa pestaña y luego en Install y aparecerá una ventana donde podemos enlistar las librerías que necesitamos, en este caso ocuparemos para el desarrollo de nuestro curso el paquete knitr (Figura ).
Ventana para especificar e instalar la paqueteria deseada directamente del repositorio CRAN
Es una buena idea iniciar el curso con la creación de un proyecto para guardar nuestros scripts. Un script son archivos que contienen el código para ingresar nuestros datos, visualizarlos mediante gráficas y generar el análisis que necesitamos. Los scripts que se generen en el proyecto, estarán siempre disponibles para consultarlo en cualquier momento que el usuario así lo desee. Para crear un proyecto, vamos a la pestaña superior derecha de Rstudio y damos clic en crear un proyecto (Figura ).
Crear un nuevo proyecto para nuestra sesión del curso
Un script son archivos que contienen el código para ingresar nuestros datos, visualizarlos mediante gráficas y generar el análisis que necesitamos. Para crear uno nuevo vamos a la barra Archivo -> Nuevo Archivo -> Script (Figura ).
Iniciamos con la creación de un Script para el proyecto
A continuación se explicará brevemente la manera de importar datos que proviene de una base de datos creada en Excel
a R. La importación es muy simple y se realiza mediante la función read.csv
. El formato del archivo excel debe estar guardado en formato .csv
(Figura ).
Guardar los datos en formato csv en Excel
Después de tener los datos guardados en el formato y nombre deseado en este caso DBH_1.csv se procede a la importación usando la función read.csv. Es importante informar a R en que directorio se encuentra la base de datos disponible para ser importada. Podemos utilizar la función setwd
. La base de datos se debe guardar como un objeto en la memoria de R y para el siguiente ejemplo lo llamaremos trees
.
trees <- read.csv("DBH_1.csv", header=TRUE)
finalmente para observar si los datos se encuentran en la memoria de R llamamos al objeto trees
. En este ejemplo utilizamos el comando head
solo para mostrar las primeras seis filas de la base de datos.
head(trees)
## Tree dbh parcela
## 1 1 16.5 1
## 2 2 25.3 1
## 3 3 22.1 1
## 4 4 17.2 1
## 5 5 16.1 1
## 6 6 8.1 1
La manera alternativa de capturar los datos de forma manual en el programa RStudio de la siguiente manera: Supongamos que tenemos 30 mediciones de árboles de la especie Pinus pseudostrobus realizado mediante un inventario en campo, los datos son los siguientes:
Trees | dbh | Trees | dbh | Trees | dbh |
---|---|---|---|---|---|
1 | 16.5 | 11 | 24.1 | 21 | 9.7 |
2 | 25.3 | 12 | 14.5 | 22 | 6.5 |
3 | 22.1 | 13 | 7.7 | 23 | 23.4 |
4 | 17.2 | 14 | 15.6 | 24 | 8.2 |
5 | 16.1 | 15 | 15.9 | 25 | 28.5 |
6 | 8.1 | 16 | 10 | 26 | 10.4 |
7 | 34.3 | 17 | 17.5 | 27 | 11.5 |
8 | 5.4 | 18 | 20.5 | 28 | 14.3 |
9 | 5.7 | 19 | 7.8 | 29 | 17.2 |
10 | 11.2 | 20 | 27.3 | 30 | 16.8 |
En el lenguaje R podemos ingresar este conjunto de datos de la siguiente forma:
dbh <- c(16.5, 25.3, 22.1, 17.2, 16.1, 8.1, 34.3, 5.4, 5.7, 11.2, 24.1, 14.5,
7.7, 15.6, 15.9, 10, 17.5, 20.5, 7.8, 27.3, 9.7, 6.5, 23.4, 8.2, 28.5, 10.4,
11.5, 14.3, 17.2, 16.8)
De la misma manera podemos trabajar los datos como los introducidos en el cuadro 1. Siempre al realizar una operación con las variables que contiene la base de datos debemos utilizar el nombre del objeto en este caso trees
. Como primer ejemplo determinaremos la media y la desviación estándar de la variable dbh
de la base de datos trees
.
mean(trees$dbh) # El signo de $ informa que necesitamos la columna dbh
## [1] 15.64333
sd(trees$dbh)
## [1] 7.448892
El uso de restricciones sirve para obtener una muestra bajo ciertas condiciones restrictivas de la base de datos trees
y es por ejemplo, una operación útil en el manejo de información de los inventarios forestales.
Los condicionantes restrictivas más empleadas son:
igual o mayor (>=), mayor que (>), igual que (==)
igual o menor (<=), menor que (<), no igual (!=)
Para mostrar como funcionan las restricciones podemos realizar las siguientes preguntas: ¿Cuántos individuos tiene un diámetro menor (<) a 10 cm?
# Indica la sumatoria de los indiviudos en el objeto tree con un dbh < a 10
sum(trees$dbh < 10)
## [1] 8
Otro ejemplo de la utilidad de emplear las condicionantes es: Excluir los diámetros que se encuentran en la parcela 2. El objeto resultante se puede grabar como trees.13
. El símbolo ! indica NO.
trees.13 <- trees[!(trees$parcela=="2"),]
trees.13
## Tree dbh parcela
## 1 1 16.5 1
## 2 2 25.3 1
## 3 3 22.1 1
## 4 4 17.2 1
## 5 5 16.1 1
## 6 6 8.1 1
## 7 7 34.3 1
## 8 8 5.4 1
## 9 9 5.7 1
## 10 10 11.2 1
## 21 21 9.7 3
## 22 22 6.5 3
## 23 23 23.4 3
## 24 24 8.2 3
## 25 25 28.5 3
## 26 26 10.4 3
## 27 27 11.5 3
## 28 28 14.3 3
## 29 29 17.2 3
## 30 30 16.8 3
Una submuestra se puede obtener de cualquier base de datos que este disponible en R mediante la función subset
(Crawley 2007). Por ejemplo queremos obtener solo los diámetros iguales o menores a 10 cm y deseamos guardarla en un objeto que se denominará trees.1
.
trees.1 <- subset(trees, dbh <= 10)
head(trees.1)
## Tree dbh parcela
## 6 6 8.1 1
## 8 8 5.4 1
## 9 9 5.7 1
## 13 13 7.7 2
## 16 16 10.0 2
## 19 19 7.8 2
El objeto trees.1
contiene 9 observaciones obtenidas mediante la restricción (subset(trees, dbh <= 10)
) de los diámetros iguales o menores a 10 cm de la base de datos original trees
.
Ahora tenemos dos base de datos: trees
y trees.1
disponibles en R y con ambas podemos realizar las operaciones y gráficas que veremos en la siguiente clase (Figura ).
mean(trees$dbh)
## [1] 15.64333
mean(trees.1$dbh)
## [1] 7.677778
Histogramas de la muestra y submuestra
No se preocupen si no funciona la primera vez
Los datos climáticos de la región boscosa de Cumbres en Nuevo León fueron obtenidas para el día 18/05/2014 desde las 17:00hrs en intervalos de 10 min. hasta el día 19/05/2014 hasta las 13:30 horas.
Los datos provienen del Sistema Meteorológico Nacional. La base de datos se encuentra disponible en el blog del curso en el siguiente link: http://wp.me/p145K0-7s.
Los nombres de las variables son: DIRS, DIRR, VELS, VELR, TEMP, HR, PB, PREC, RAD.SOL, TEMPCOMB, HUMCOMB, HUMSUBS, TEMPSUBS y su significado es el siguiente:
Las variables que se van a manejar son:
TEMPCOMB: Temperatura combustibles forestales
HUMCOMB: Humedad de los combustibles forestales
TEMP: Temperatura
HR: Humedad relativa
Con la base de datos, realizar una submuestra (subset)
de la siguiente manera:
(subset)
con las siguientes restriciones:Crawley, Michael J. 2007. The R Book. 1st ed. Wiley Publishing.
Loo, Mark P.J. van der, and Edwin de Jonge. 2012. Learning RStudio for R Statistical Computing. Birmingham, UK: Packt publishing.
R Core Team. 2000. Introducción a R. Notas Sobre R: Un Entorno de Programación Para análisis de Datos Y Gráficos.
———. 2016. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. https://www.R-project.org/.