En este breve documento, haremos una ilustración del paradigma funcional y orientado a objetos en R mediante ilustraciones en la estructura básica de los datos.

Punto 1

Generemos un vector con los números primos del 1 al 20 y guardemoslo en una variable llamada primos.

primos = c(2,3,5,7,11,13,17)

# Veamos nuestro vector

primos
## [1]  2  3  5  7 11 13 17

Punto 2

Generemos un vector nombrado con las palabras “Bogotá”, “Teusaquillo”, “Universidad Nacional”. Luego, asignemoslo a una variable llamada lugares.

lugares = c(
  
  "Ciudad" = "Bogotá",
  "Localidad" = "Teusaquillo",
  "Locacion" = "Universidad Nacional"
)

# Veamos nuestro vector nombrado

lugares
##                 Ciudad              Localidad               Locacion 
##               "Bogotá"          "Teusaquillo" "Universidad Nacional"

Punto 3

Generemos una matríz de dimensiones 3x4 a partir del vector vec_for_matrix. La matríz se llamará matriz_1.

vec_for_matrix = 1:12

matriz_1 = matrix(vec_for_matrix, nrow = 3, byrow = F)

# Visualice el resultado
matriz_1
##      [,1] [,2] [,3] [,4]
## [1,]    1    4    7   10
## [2,]    2    5    8   11
## [3,]    3    6    9   12

Punto 4

Generemos una lista de dos elementos y será asignada a una variable llamada lista_1.

El primer elemento debe llamarse “nums” y debe ser un vector con los números del 1 al 12. El segundo elemento debe llamarse “letras” y debe tener las letras minúsculas de la “a” a la “l”.

# Generación de vectores

nums = c(1:12);nums
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12
letras = letters[1:12];letras
##  [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l"
# Agregamos los vectores a nuestra lista

lista_1 = list(
  "Nums" = nums, 
  "Letras" = letras
  )

# Veamos nuestra lista

lista_1
## $Nums
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12
## 
## $Letras
##  [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l"

Punto 5

Creemos una lista cuyo primer elemento sea el vector primos, el segundo elemento debe ser el vector nombrado lugares, el tercer elemento debe ser la matríz matriz_1 y el cuarto elemento debe ser la lista lista_1.

Los nombres de cada elemento deben corresponder a los nombres de las variables. Es decir, el primer elemento de esta lista debe llamarse “primos”, el segundo, “lugares”, y así sucesivamente. Dicha lista se guardará en una variable llamada lista_grande.

# Generamos nuestra lista con los elementos solicitados:

lista_grande = list(
  "Primos" = primos,
  "Lugares" = lugares,
  "Matriz 1" = matriz_1,
  "Lista 1" = lista_1
)

# Hemos asignado un nombre a cada elemento previamente construido, veamos nuestra lista ahora.

lista_grande
## $Primos
## [1]  2  3  5  7 11 13 17
## 
## $Lugares
##                 Ciudad              Localidad               Locacion 
##               "Bogotá"          "Teusaquillo" "Universidad Nacional" 
## 
## $`Matriz 1`
##      [,1] [,2] [,3] [,4]
## [1,]    1    4    7   10
## [2,]    2    5    8   11
## [3,]    3    6    9   12
## 
## $`Lista 1`
## $`Lista 1`$Nums
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12
## 
## $`Lista 1`$Letras
##  [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l"

Ahora a partir de este momento, todos los procedimientos se trabajaran sobre la variable lista_grande

Cuando se solicite acceder a elementos de lista_grande mediante indexación por corchetes, debe hacerse como el siguiente ejemplo

# lista_grande[[2]]
# Así se accedería al elemento "lugares"

Cuando se solicite acceder a elementos de lista_grande usando el signo dolar ($), debe hacerse como el siguiente ejemplo

# lista_grande$primos
# Así se accedería al elemento "primos"

Punto 6

Usando indexación con corchetes, obtengamos la media del elemento “primos” de lista_grande.

# Con la función "mean", calculamos la media

mean(lista_grande[[1]])
## [1] 8.285714

Punto 7

Accediendo al elemento “letras” del elemento “lista_1” de la lista lista_grande usando el signo dolar ($), convierta las letras a mayúsculas.

# Con "toupper" convertiremos los carácteres en mayusculas.

toupper(lista_grande$`Lista 1`$Letras)
##  [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L"

Punto 8

Usando el signo dolar ($), muestre los nombres de elemento “lugares” de la lista lista_grande.

# Usamos el comando "names" para esta tarea. 

names(lista_grande$Lugares)
## [1] "Ciudad"    "Localidad" "Locacion"

Punto 9

Usando el signo dolar ($), sume todos los elementos del vector “nums” del elemento “lista_1” de la lista lista_grande.

# Sum nos permite sumar los números dentro del vector.

sum(lista_grande$`Lista 1`$Nums)
## [1] 78

Punto 10

Hagamos lo mismo que el punto anterior, pero usando indexación con corchetes en vez del acceso a elementos con el signo dolar ($). Debemos llegar al mismo resultado.

# Si usamos la versión con números veremos que:

sum(lista_grande[[4]][[1]])
## [1] 78
# Usando la versión con los nombres asignados:

sum(lista_grande[["Lista 1"]][["Nums"]])
## [1] 78

Punto 11

Usando el signo dolar ($), accedamos al elemento “matriz_1” de la lista lista_grande y calculemos sus dimensiones.

# Usamos "dim" para conocer las dimensiones de nuestra matriz.

dim(lista_grande$`Matriz 1`)
## [1] 3 4

Con esto, terminamos los ejercicios para ver algunas de las funciones básicas en R.