5  Taller 1. Intro a R

Resumen de las actividades

Imágen tomada de sommersby

El presente taller tiene como objetivo, realizar un entrenamiento básico, sobre los aspectos más relevantes en el manejo del programa RStudio, el cual se encuentra alojado en el siguiente 📈enlace.

Se utilizará como referente al capitulo 2 del libro Análisis de datos ecológicos y ambientales (Rodríguez-Barrios, J. 2023), alojado en el siguiente enlace 📖Enlace_Libro

Actividad 1. Operaciones básicas en RStudio

  1. Descargar el script de RMarkDown (rmd) titulado “Taller2.1.Rmd” en el siguiente enlace 📈Taller2.1.Rmd.

  2. Crear una carpeta en su computador titulada “Taller2.1_IntroRStudio” y guardar el archivo descargado junto con el resto de materiales que se describen a continuación.

  3. Abrir el archivo “Taller2.1.Rmd” y abrir el siguiente enlace, correspondiente al ejercicio a realizar 📈Taller1.IntroRStudio.

  4. Revisar los siguientes enlaces complementarios:

Actividad 2. Importación y Exportación de datos

[ Imágen tomada de BillionPhotos.com ]

  1. Continuar en el el archivo “Taller1.Rmd” y en las diapositivas Taller1.IntroRStudio.

  2. Realizar los siguientes procedimientos

  1. Revisar os siguientes enlaces

Taller 1. Introducción a R y a Tidyverse

R como calculadora

# Operaciones aritméticas básicas
5 + 7   # Suma
5 - 3   # Resta
5 * 7   # Multiplicación
5/3     # División
2^3     # Exponentes
# Logarítmos y exponenciales
x = 5/3
log2(x)     # Logarítmo en base 2 de x
log10(x)    # Logarítmo en base 10 de x
exp(x)      # Exponencial de x
# Funciones trigonométricas :
cos(x)    # Coseno de x
sin(x)    # Seno de x
tan(x)    # Tangente de x

Asignaciones

# 2) Asignaciín de valores a objetos o a variables
sitios <- 2         # Número de sitios = 2
sitios = 2          # Otra forma
n.sitios <- "dos"   # Número de sitios como un caracter
dos.sitios <- TRUE  # Objeto lógico

Algebra

# Vectores
sitios <- c(2, 3, 2, 3)   # Vector sitios
sitios                    # Imprimir el vector

sitios <- c("dos", "tres", "dos", "dos")    # Vector como caracter
sitios

abundancia <- c(TRUE, FALSE, TRUE, TRUE)    # vector con elementos lógicos
abundancia
# Vectores (continuación)
sitios <- c(2, 3, 2, 3)   # Vector sitios
names(sitios) <- c("dos", "tres", "dos", "dos")   # Nombres de los elementos 

sitios <- c(dos= 2, tres= 3, dos= 2, dos= 2)      # Otra forma
sitios
# Vectores (continuación)
sitios [1:3]      # Tres primeros elementos del vector sitios
sitios[c(1,4)]    # Primer y cuarto elemento del vector
sitios [-1]       # Eliminar el primer elemento del vector
# Matrices
Matriz <- matrix(c(1:15),5,3, byrow= FALSE)   # 5,3: Número de filas y columnas
Matriz
# Matrices (continuación)
t(Matriz)         # Transpuesta de la Matriz
Matriz[2,]        # Ver la segunda fila (coma a la derecha del dato)
Matriz[,2]        # Ver la segunda columna (coma a la izquierda del dato)
Matriz[2:4,]      # Filas 2 a la 4
Matriz[c(2,4),]   # Filas 2 y 4
Matriz[ ... ]     # Valores de la fila 3 y de las columnas 1:3
Matriz[ ... ]     # Excluye a la 3a fila

Bases de datos (data.frames - cbind)

# Base de datos (datos)
datos <- data.frame(
  "n" = 1:4,                                   # filas
  "indiv." = c("a", "b", "c", "d"),            # Individuos
  "sexo"   =  c("f","f","m","m"),              # Sexo
  "variable" = c(1.2, 3.4, 4.5, 5.6))          # Valor de la variable

datos      # Ver asinación del data.frame
# Base de datos (continuación)
head(datos)     # Muestra las primeras filas
names(datos)    # Nombres de las columnas
str(datos)      # Estructura de la base de datos
t(datos)        # Transpuesta de la base de datos

Enlaces de operaiciones en R

Diapositivas Intro a R

Diapositivas Operaciones en R

Trucos en R

RPubs-Intro

RPubs-Intermed

/page()

Importar y exportar bases de datos (read y write)

Complementos requeridos

# Librerías requeridas
library(tidyverse)
library(xtable)       # Importar y exportar
library(openxlsx)     # exportar "*.xlsx" 
library(readxl)       # Importar y exportar
library(xlsx)         # Importar y exportar "*.xlsx" 

Base de datos del ejercicio

# Base de datos (datos)
datos = data.frame (meses = c("enero", "junio", "octubre"),
                    periodos = c("sequía", "lluvias1", "lluvias2"),
                    taxón1 = c(2, 1, 3),
                    taxón2 = c(20, 25, 30),
                    taxón3 = c(4, 4, 4))

datos  # Ejecutar la asignación (datos)

Exportación

# Exportar bases de datos como "datos1"

write.csv2(datos, "datos1.csv")   # paquete "utils" 

write_csv2(datos, "datos1.csv")   # paquete "readxl" 

write.xlsx(datos, "datos1.xlsx")  # paquete "openxlsx" y "xlsx"

Importación

# Importar bases de datos como "datos1"

datos1 <- read.csv2("datos1.csv", row.names = 1)    # paquete "utils" 
datos1 <- read.csv2(file.choose(), row.names = 1)   # paquete "utils" 

datos1 <- read_csv2("datos1.csv")     # paquete "readxl" 
datos1 <- read_csv2(file.choose())    # paquete "readxl" 

datos1 <- read_excel("datos1.xlsx")    # paquete "readxl" 
datos1 <- read_excel(file.choose())    # paquete "readxl" 

datos1 <- read.xlsx("datos1.xlsx")    # paquete "openxlsx"
datos1 <- read.xlsx(file.choose())    # paquete "openxlsx"

Importación desde internet

# Importar archivo *.csv desde la web
datos2 <- read.csv2("https://javier-2712.github.io/Multivariados/Insectos.csv")

datos2 <- read_csv2("https://javier-2712.github.io/Multivariados/Insectos.csv")

Enlaces de importación y Exportación de datos

Importación de datos1

Importación de datos2

Diapositivas

Resúmenes con psych

/page()

Introductorio a Tidyverse

  1. Continuar en el el archivo “Taller1.Rmd” y en las diapositivas Taller1.IntroRStudio.

  2. Revisar los siguientes enlaces

Importar la base de datos (datos)

datos1 <- read_excel(file.choose())    # paquete "readxl" 

Manipulación de los datos enlace

  • comando gather para visualizar bases de datos alargadas

  • comando spread para visualizar bases de datos a lo ancho

  • comando %>% tuberías o pippelines.

# Base de datos alargada (datos.l)
datos.l <- datos %>% 
  gather(key= Columnas, value= Valores)
datos.l
# Excluir la columna periodo en formato alargado (-periodos)
datos.l <- datos %>%
  gather(key= columnas, value= valores, -periodos)
datos.l

Nueva base de datos con factor

# Base de datos para 4 estudiantes (con 4 replicas)
# a los que se les midieron dos variables en cuatro ocasiones.
datos <- data.frame(n= 1:16,
                    Estudiante= c("a","a","a","a","b","b","b","b",
                                 "c","c","c","c", "d","d","d","d"),
                    Sexo= c("f","f","f","f","f","f","f","f",
                            "m","m","m","m","m","m","m","m"),
                    Variable1= c(1.2,3.4,4.5,5.6,1.2,3.4,4.5,5.6,
                                 0.8,2.4,1.8,1.5,1.6,2.1,1.2,0.8),
                    Variable2= c(2.4,6.8,9.0,11.2,2.4,6.8,9.0,11.2,
                                 1.6,4.8,3.6,3.0,3.2,4.2,2.4,1.6))
datos

Filtrando elementos del dataframe (filter)

# Fitrado por sexos "f" y "m"
datos.f <- datos %>% filter(Sexo == "f")
datos.f  # Base de datos para mujeres

datos.h <- datos %>% filter(Sexo == "m")
datos.h  # Base de datos para hombres
# Fitrado por sexos y estudiantes "f" y "m"
datos.a <- datos %>% filter(Sexo =="f", Estudiante =="a")
datos.a  # Datos de la estudiante a

datos.a <- datos.f %>% filter(Estudiante =="a")
datos.a # Datos de la estudiante a

Filtrando en orden descendente o ascendente (arrange)

# Filtrando en orden descendente y ascendente
datos.des <- datos %>% arrange(desc(Variable1))
datos.des  # Variable asignada

datos.asc <- datos %>% arrange(Variable1)
datos.asc  # Variable asignada

Combinación de filtrado y orden (filter + arrange)

# Filtrar mujeres en orden descendente. 
datos.des.f <- datos %>% 
  filter(Sexo == "f")  %>% 
  arrange(desc(Variable1))
datos.des.f  # Asignación 

Generación de variables derivadas (arrange)

# Insertar nuevas variables (mutate)
datos.3 <- datos %>% 
  mutate(Variable3 = Variable1 * Variable2)
datos.3  # Asignación 

Combinación de filtrado, nuevas variables y orden (filter + mutate + arrange)

# Combinación de funciones (filter, mutate, arrange)
datos.4  <- datos %>%
  filter (Sexo == "f") %>%
  mutate (Variable3 = Variable2 * 12) %>%
  arrange (desc(Variable3))
datos.4   # Asignación 
# Combinación de funciones (filter, mutate, arrange)
datos.4  <- datos %>%
  filter (Sexo == "f", Estudiante == "b") %>%
  mutate (Variable3 = Variable2 * 12) %>%
  arrange (desc(Variable3))
datos.4

Enlaces de operaiciones en Tidyverse

Videos de Tidyverse

Introducción al Tidyverse

Introducción al Tidyverse

Introducción al Tidyverse

El Tidyverso y tidyr

Curso de Tidyverse

10 funciones de Tidyverse

Manipulación de datos

Estandarización de variables

Transformaciones de variables

/page()

Taller práctico para la casa

  1. Realizar los ejemplos del siguiente enlace, utilizando las siguientes opciones de tidyverse:
  • Filter

  • Arrange

  • Mutate

  1. Realizar los ejemplos del siguiente enlace, utilizando las siguientes opciones de tidyverse:
  • Pipeline

  • summarize

  • group_by

  • mutate

  • filter

  • select

  • joins

  1. Realizar los ejemplos del siguiente enlace, utilizando las siguientes opciones de tidyverse:
  • summarize

  • group_by

  • mutate

  • filter

  • select

  1. Realizar los ejemplos del siguiente enlace, utilizando las siguientes opciones de tidyverse:
  • Ejemplo de los censos

  • spread