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.
1+1
## [1] 2
(1+4)/2
## [1] 2.5
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
Para este ejemplo usaremos la base de datos cars, una base de datos predeterminada en R.
| 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
| 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)
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")
| 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.")
| 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 |
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.
write.csv(altura, "altura.csv")
¿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.