Antes de inciar debe definir la ubicación de su carpeta de trabajo o archivos con el comando setwd(), lo que le permitirá acceder más fácilmente a los archivos a trabajar. Nota: esta acción también puede ser definida por medio de las pestañas en la parte superior Session > Set Working Directory > Choose Directory. Se recomienda tener todos los archivos a utilizar en una sola carpeta junto con sus scripts para facilitar la ejecución de los comandos.

Introducción al uso de R

¿Qué puedo hacer con R?

Cálculos matemáticos

1+1
## [1] 2
(1+4)/2
## [1] 2.5

Podemos almacenar información numérica en variables y realizar cálculos con ellas

a <- 1 
b <- 4
c <- 2

a+a
## [1] 2
#También podemos añadir anotaciones

#Realizar cálculo de variables

(a+b)/c
## [1] 2.5
#Podemos almacenar variables con "<-" o con "="

ejemplo1 <- a+a
ejemplo2 = (a+b)/c

#Al mencionar la variable de nuestro, podemos ver el resultado almacenado en esta
ejemplo1
## [1] 2
ejemplo2
## [1] 2.5

También podemos trabajar con texto

X1 <- "Nombre"
X2 <- "Apellido"

#paste concatena las variables
ejemplo3 <- paste(X1, X2)
ejemplo3
## [1] "Nombre Apellido"

Podemos definir vectores

x <- c(1,2,3,4)
variables <- c("integer", "numeric","character","logical", "factor")
example <- c(100,0.05, "hello", TRUE, "Green")

Que nos permitirán construir bases de datos

tipos_variables <- data.frame(
  Variables = variables,
  Example1 = example,
  Example2 = c(55, -0.56, "world", FALSE, "Blue") 
)

#Nota: los objetos en R son estructuras de datos especializadas como variables, vectores, matrices, listas, bases de datos, entre otros. 
Variables Example1 Example2
integer 100 55
numeric 0.05 -0.56
character hello world
logical TRUE FALSE
factor Green Blue

También podemos describir la base de datos construida

#nombre columnas
colnames(tipos_variables)
## [1] "Variables" "Example1"  "Example2"
#nombre de las filas
rownames(tipos_variables)
## [1] "1" "2" "3" "4" "5"
#Número de columnas
ncol(tipos_variables)
## [1] 3
#Número de filas
nrow(tipos_variables)
## [1] 5

También podemos realizar cáculos a partir de la información en una base de datos.

Para este ejemplo usaremos la base de datos cars, una base de datos predeterminada en R.

Velocidad y distancia alcanzada por un automóvil. Nota: Solo se muestran las primeras cinco entradas.
speed dist
4 2
4 10
7 4
7 22
8 16

Podemos calcular el promedio de la velocidad

#funcion(data.frame$colname)
mean(cars$speed)  
## [1] 15.4

También podemos generar un nuevo valor a partir de las columnas mostradas y añadirla a la base de datos

# Calcular nuevos valores a partir de las columnas mostradas
time <- cars$dist / cars$speed

#Añadirla a la base de datos 
cars$time <- time
Velocidad, distancia y tiempo alcanzada por un automóvil. Nota: Solo se muestran las primeras cinco entradas.
speed dist time
4 2 0.5000000
4 10 2.5000000
7 4 0.5714286
7 22 3.1428571
8 16 2.0000000

Resumir datos de las bases de datos

summary(cars)
##      speed           dist             time      
##  Min.   : 4.0   Min.   :  2.00   Min.   :0.500  
##  1st Qu.:12.0   1st Qu.: 26.00   1st Qu.:1.921  
##  Median :15.0   Median : 36.00   Median :2.523  
##  Mean   :15.4   Mean   : 42.98   Mean   :2.632  
##  3rd Qu.:19.0   3rd Qu.: 56.00   3rd Qu.:3.186  
##  Max.   :25.0   Max.   :120.00   Max.   :5.714

Podemos elaborar gráficos

plot(cars$speed, cars$dist)

Exportar la base de datos (data.frame) de R a un archivo .csv

Comando para cargar bases de datos

También puede ser definido por medio de las ventana de Environment, ir a Import Dataset>From text, o la opción que sea más conveniente, y luego verificar que se esté importando en el formato correcto. Luego, dar en Aceptar.

altura <- read.csv("mean-height-males-vs-females.csv")
Altura promedio de hombres y mujeres en el Perú por año (1896 - 1996). Nota: Solo se muestran las primeras cinco entradas.
Entity Year Mean_male_height_.cm. Mean_female_height_.cm.
Peru 1896 154.9275 141.4818
Peru 1897 155.0537 141.6709
Peru 1898 155.1801 141.8603
Peru 1899 155.3065 142.0496
Peru 1900 155.4331 142.2386

Ejercicio 01 Calcular la diferencia entre la altura promedio de hombres y mujeres. Luego, añadirla a la base de datos “altura”

#Cálculo de la diferencia de altura entre hombres y mujeres
Diferencia <- altura$Mean_male_height_.cm. - altura$Mean_female_height_.cm.
#Almacena la diferencia de altura en una nueva columna
altura$Diferencia <- Diferencia

kable(head(altura,5), caption = "Base de datos actualizada. Nota: Solo se muestran las primeras cinco entradas.")
Base de datos actualizada. Nota: Solo se muestran las primeras cinco entradas.
Entity Year Mean_male_height_.cm. Mean_female_height_.cm. Diferencia
Peru 1896 154.9275 141.4818 13.44576
Peru 1897 155.0537 141.6709 13.38284
Peru 1898 155.1801 141.8603 13.31984
Peru 1899 155.3065 142.0496 13.25698
Peru 1900 155.4331 142.2386 13.19446
Ejercicio 02 Elaborar un gráfico que muestre el año y la diferencia calculada

plot(altura$Year, altura$Diferencia)

#Nota: El gráfico aún se puede mejorar para lograr estándares de publicación tras modificar los ejes, y añadiendo un título de un gráfico.

Exportar archivos

write.csv(altura, "altura.csv")

Funciones

¿Recuerdan “mean”, “summary” o “plot”? Todas ellas son funciones que nos permiten realizar cálculos o elaborar gráficos por medio de un solo comando, pero detrás de cada una de ellas ocurre una serie de cálculos o transformaciones.

Algunas se encuentran predeterminadas en R, otras pueden ser instaladas por medio de paquetes (packages) y almacenadas en el computador en una biblioteca (library) y, en algunos casos, pueden ser definidos por el usuario. Actualmente, están disponible una gran cantidad de paquetes específicos para análisis biológicos como ape, phytools, entre otros. En la siguiente sección, veremos algunos de ellos.

En la imagen, se detalla la estructura para definir una función.

Estructura de una función (Autor: Learn by Example)
Estructura de una función (Autor: Learn by Example)

Enlaces recomendados

R Manuals

Posit Cheatsheets