1. Operaciones básicas.

Lo primero que podemos hacer en RStudio es utilizarlo como calculadora, para esto simplemente debemos usar símbolo que corresponda.

10+10
## [1] 20
10-5
## [1] 5
5*8
## [1] 40
25/5
## [1] 5
sqrt(144)
## [1] 12
12**2
## [1] 144

2. Crear un vector.

Un vector en R es la estructura de datos más básica, consistente en una secuencia ordenada de elementos de un mismo tipo. Para crearlo utilizamos la función c() que significa “concatenar” o “combinar”. El vector debe tener un nombre conocido y no tan genérico para que sea fácil de recordar, de escribir y no se confunda con otros que puedas estar usando paralelamente. Además, debe estar acompañado del signo <- que sirve para indicar todo lo que contendrá el vector.

# Vector de caracteres
x <- c("a", "b", "c", "d")
x
## [1] "a" "b" "c" "d"
# Vector numérico
hola <- c(1, 2, 3, 4, 5)
hola
## [1] 1 2 3 4 5

3. Operaciones con vectores.

Una de las caracteristicas más potentes de R es la vectorizacion. Esto significa que cualquier operación aritmética que apliquemos a un vector, se realizará automáticamente para cada uno de los elementos que contiene, sin necesidad de hacerlo uno por uno.

# Sumar o restar un valor constante a todos los elementos
hola + 1
## [1] 2 3 4 5 6
# Crear dos vectores nuevos
mi_vector_1 <- c(1, 2, 3)
mi_vector_2 <- c(4, 5, 6)

# Operar entre vectores (elemento por elemento)
mi_vector_1 + mi_vector_2
## [1] 5 7 9
# También podemos "pegar" o juntar varios vectores en uno solo
mi_vector_3 <- c(mi_vector_1, mi_vector_2)
mi_vector_3
## [1] 1 2 3 4 5 6

4. Secuencias numéricas.

R permite generar listas de números ordenados utilizando el operador :.

# Secuencia simple del 1 al 10
1:10
##  [1]  1  2  3  4  5  6  7  8  9 10
# Secuencia en orden inverso
10:1
##  [1] 10  9  8  7  6  5  4  3  2  1
# Vector con una secuencia del 1 al 10
secuencia <- c(1:10)

5. Matrices.

Una matriz es una estructura de datos bidimensional (organizada en filas y columnas). A diferencia de los vectores, tienen dos dimensiones, pero mantienen la regla de que todos sus elementos deben ser del mismo tipo (generalmente números).

# Crear una matriz a partir de una secuencia de 1 al 12
# Podemos definir el número de filas (nrow) y columnas (ncol)
matrix(1:12, nrow=3, ncol=4)
##      [,1] [,2] [,3] [,4]
## [1,]    1    4    7   10
## [2,]    2    5    8   11
## [3,]    3    6    9   12
# O cambiar la orientación a 4 filas y 3 columnas
matrix(1:12, nrow=4, ncol=3)
##      [,1] [,2] [,3]
## [1,]    1    5    9
## [2,]    2    6   10
## [3,]    3    7   11
## [4,]    4    8   12
# También podemos realizar operaciones matemáticas directas sobre toda la matriz
mi_matriz <- matrix(1:9, nrow=3, ncol=3)
mi_matriz * 2
##      [,1] [,2] [,3]
## [1,]    2    8   14
## [2,]    4   10   16
## [3,]    6   12   18
mi_matriz^3
##      [,1] [,2] [,3]
## [1,]    1   64  343
## [2,]    8  125  512
## [3,]   27  216  729

6. Data Frames.

El Data Frame esla estructura más importante en arqueología. A diferencia de la matriz, un Data Frame permite que cada columna tenga un tipo de dato diferente (por ejemplo: una columna con nombres de sitios, otra con tipos de cerámica, etc.). Es lo más parecido a una tabla de Excel.

# Crearemos un set de datos (dataset) con 3 columnas
mi_dataframe <- data.frame(
  "secuencia" = 1:4, 
  "letra" = c("a", "b", "c", "d"), 
  "numero" = c(1.2, 3.4, 4.5, 5.6)
)

mi_dataframe
##   secuencia letra numero
## 1         1     a    1.2
## 2         2     b    3.4
## 3         3     c    4.5
## 4         4     d    5.6
# Podemos consultar información básica del Data Frame
length(mi_dataframe) # Nos da el número de columnas
## [1] 3
names(mi_dataframe)  # Nos da los nombres de las columnas
## [1] "secuencia" "letra"     "numero"

7. Coerción de datos.

En R, “coercionar” significa forzar un objeto de un tipo a otro. Es muy común, por ejemplo, convertir una matriz de números en un Data Frame para poder procesarlo con herramientas estadísticas más avanzadas.

# Creamos una matriz simple
matriz_ejemplo <- matrix(1:12, ncol=4)

# La transformamos a Data Frame
df_final <- as.data.frame(matriz_ejemplo)

df_final
##   V1 V2 V3 V4
## 1  1  4  7 10
## 2  2  5  8 11
## 3  3  6  9 12

8. Ejercicio práctico

A continuación, pondremos en práctica los conceptos revisados. Crea un nuevo script en R y escribe el código necesario para resolver los siguientes ejercicios:

  1. Crear un vector con tu nombre que contenga los números 20, 21, 22, 23, 24 y 25.
  2. Crear un vector con tu segundo apellido que contenga las letras “d”, “e”, “f”, “g”, “h”, “i”.
  3. Crear un tercer vector (con un nombre a tu elección) en base al vector de tu nombre y al vector de tu segundo apellido.
  4. Multiplicar el vector con tu nombre por 7.
  5. Crear una secuencia numérica del 35 al 77 (35:77).
  6. Crear una matriz del 1 al 16 con 4 columnas y 4 filas.
  7. Crear un data frame con la misma información que utilizaste para los vectores de tu nombre y apellido.

← Clase Anterior Índice Siguiente Clase →