Introducción

Este documento es un resumen de la primera clase del curso Introducción a Rstudio, organizado por BioLab.

¿Qué lograremos en el curso?

El objetivo del curso es presentarles las ventajas de Rstudio, que puedan dominar el programa y animarlos a usarlo en los análisis de sus trabajos de investigación.

Molinos de Campo de Criptana

¿Quiénes somos?

Equipo de BioLab

  • Luis
  • Marcos

Temas de la clase 1

  • ¿Qué es R? ¿Y cómo funciona?
  • ¿Qué es el repositorio CRAN? ¿y cómo se usa?
  • Organización de matrices
  • Importación de data (excel, csv, txt …)
  • Exploración de la data
  • Comandos base del R

¿Qué es R?

RStudio es un ambiente de desarrollo integrado, muy popular en el entorno científico, debido a que es un software libre con amplia difusión, las ventajas radican en la amplitud de análisis que se pueden hacer con este programa (Verzani, 2011)

Verzani, J. (2011). Getting started with RStudio: An integrated development environment for R. “O’Reilly Media, Inc.”.

¿Por qué utilizar R?

  • Es libre. Se distribuye bajo licencia GNU
  • Es multiplataforma, hay versiones para Linux, Mac, Windows, celular… ¡web!
  • Se puede analizar en R cualquier tipo de datos.
  • Es potente y rápido
  • Su capacidad gráfica difícilmente es superada por ningún otro paquete estadístico.
  • Es compatible con todos los formatos de datos (.csv, .xls, .sav, .sas, incluso datos de spss …)
  • La diversidad de paquetes permiten hacer de todo
  • Cuenta con una gran comunidad

Entorno R

RStudio

Repositorio CRAN

Comprehensive R Archive Network

  • Lugar donde están alojados la mayoría de paquetes
  • Solo hace falta descargarlos y sacarle el máximo provecho
  • ¡Son de uso libre!

Otros repositorios

Antes de empezar a usar R…

¿Cómo usar las funciones de los paquetes?

library(argumentos)

¿Cómo usar las funciones de los paquetes?

library(argumentos)

¿Qué pasa cuando dos paquetes tienen una función con el mismo nombre?

dplry ::select(argumentos)

¿Cómo detengo los procesos?

Ctrl + c

Sistema de comentarios en R

View(data) # comentarios

¿Problemas al registrar la data?

¿Cómo nombrar a las variables?

Ahora estamos preparados para la práctica

Directorio de trabajo

getwd() # Ruta del directorio de trabajo en el que nos situamos
# Configurar directorio de trabajo
setwd("ruta del directorio donde se quiere trabajar") 
getwd()
dir() # Para ver los archivos del directorio

# Creación de un directorio para la primera clase
# Primero debemos ubicarnos en el directorio del curso

# creación de directorio para el curso
dir.create("BiosLab_R")
    

Organización del directorio de trabajo

Cuando se trabaja en la computadora es importante mantener el orden de los archivos.
Se recomienda siempre mantener una copia de la data original.
Con ayuda de un bucle crearemos una serie de directorios dentro de nuestro directorio de trabajo, esto nos ayudara a organizar nuestros archivos.

##########
# Inicio #
##########
cdir<-c("raw_data","data","script","comentarios","resultados","imagenes") 
for (i in 1:length(cdir)){
  dir.create(cdir[i])
}
rm(i,cdir)
dir()
#######
# fin #
#######

Importación de la data

  • Desde un .CSV
dataset <- read.csv("ruta", sep = ",")
  • Desde excel
library(readxl)
dataset <- read_excel("nombre archivo", sheet = "hoja1", na= "NA", col_names = TRUE)

¿Qué hemos importado?

View(dataset)
head(dataset)
tail(dataset)
head(dataset, n = 4L)

¿Cómo buscar NA?

row.has.na <- apply(final, 1, function(x){any(is.na(x))})
  • Númumeros de NAs en toda la matriz
sum(row.has.na)
  • Matriz sin NAs
final.filtered <- final[!row.has.na,]

¿Qué hay en las variables?

  • Repasaremos algunos comandos que nos ayudaran a resumir la información de nuestra matriz
names(dataset)

str(dataset)

levels(dataset$factor) # Escoger alguna variable que sea un factor

summary(dataset)

Pasar una variable a factor

data$variable_nueva <- factor(data$variable_numerica, levels = c(),
  labels = c("niveles"))
 
dataset$Tratamiento_f <- factor(dataset$Tratamiento, levels = c(1,2),
  labels = c("Phaeodactylum tricornutum","Tetraselmis suecica"))

Mejor usar gráficos

boxplot(variable_dependiente ~ factor, data = archivo)
boxplot(Medidas ~ Tratamiento, data = dataset)

¿Cómo guardar los gráficos para el informe?

Recordar en que directorio de trabajo nos encontramos

jpeg("imagenes/nombre_archivo.jpeg")
boxplot(variable_dependiente ~ factor, data = archivo)
dev.off()
  • La función jpeg() tiene más opciones como argumentos
  • Recordar el comando que se usa para ver los archivos de mi directorio… [dir()]

Expresiones regulares

Tabla de símbolos básicos

Aritméticos Lógicos Comparativos
+ Adición == Igual a & Y Lógico
- Substracción != Diferente de ! No Lógico
* Multiplicación < Menor que | O Lógico
/ División > Mayor que is.na(x) ¿Es NA?
$$ Potencia <= Menor o igual a is.null(x) ¿Es Null?
%/% División de enteros >= Mayor o igual a is.nan(x) ¿Es NaN?

Tabla de funciones básicas

Función Matemáticas Función Estadísticas
sqrt(x) Raíz de x mean(x) Media
exp(x) Exponencial de x sd(x) Desviación estándar
log(x) Logaritmo natural de x var(x) Varianza
log10(x) Logaritmo base 10 median(x) Mediana
sum(x) Suma de los elementos de x quantiles(x) Quantiles
prod(x) Producto de los elementos de x cor(x,y) Correlación
sin(x) Seno max(x) Valor máximo
cos(x) Coseno min(x) Valor mínimo
tan(x) Tangente range(x) Retorna el máximo y mínimo
round(x,n) Redondea a n dígitos sort(x) Ordena los elementos de x
cumsum(x) Calcula las sumas acumuladas summary Resumen de las variables
choose(n,k) Combinatoria de n sobre k

Tabla de funciones de distribución

Distribución Función de densidad distribución acumulada función cuantil Uso de números aleatorios
Normal dnorm(…) pnorm(…) qnorm(…) rnorm(…)
Uniforme dunif(…) punif(…) qunif(…) runif(…)
Student’s t dt(…) pt(…) qt(…) rt(…)
Chi-cuadrada dchisq(…) pchisq(…) qchisq(…) rchisq(…)
Gamma dgamma(…) pgamma(…) qgamma(…) rgamma(…)
Normal Multivariada dmvnorm(…) pmvnorm(…) rmvnorm(…)
Student’s t Multivariada dmvt(…) pmvt(…) qmvt(…) rmvt(…)
Exponencial dexp(…) pexp(…) qexp(…) rexp(…)
Cauchy dcauchy(…) pcauchy(…) qcauchy(…) rcauchy(…)
Wishart dwish(…) rwish(…)
  • Nota: algunas de estas distribuciones se encuentran en las librerías de MASS, MCMCpack y mvtnorm.