3  listas

3.1 Crear una Lista

Puedes crear una lista utilizando la función “list()”. Cada elemento de la lista se especifica mediante su nombre y su valor. Aquí hay un ejemplo:

mi_lista <- list(nombre = "Nicolle",edad = 21,ciudad = "lima",carrera = "Estadistica")
mi_lista
$nombre
[1] "Nicolle"

$edad
[1] 21

$ciudad
[1] "lima"

$carrera
[1] "Estadistica"

3.2 Acceder a Elementos de una Lista

nombre <- mi_lista$nombre # Obtiene el nombre
nombre
[1] "Nicolle"
edad <- mi_lista$edad # Obtiene la edad
edad
[1] 21
ciudad <- mi_lista$ciudad # Obtiene la ciudad
ciudad
[1] "lima"

También puedes acceder a elementos mediante corchetes y el índice del elemento en la lista:

carrera <- mi_lista[[4]] # Obtiene la carrera
carrera
[1] "Estadistica"

3.3 Modificar Elementos de una Lista

mi_lista$nombre <- "Laura" # Modifica el nombre
mi_lista$nombre
[1] "Laura"
mi_lista$ciudad[1] <- "Cajatambo" # Modifica la ciudad
mi_lista$ciudad[1]
[1] "Cajatambo"

3.4 Agregar y Eliminar Elementos de una Lista

mi_lista$telefono <- "3513341" # Agrega un número de teléfono
mi_lista$telefono
[1] "3513341"
mi_lista <- append(mi_lista, list(email="nicolle.berrospiunmsm.edu.pe")) #Agrega un correo institucional
mi_lista
$nombre
[1] "Laura"

$edad
[1] 21

$ciudad
[1] "Cajatambo"

$carrera
[1] "Estadistica"

$telefono
[1] "3513341"

$email
[1] "nicolle.berrospiunmsm.edu.pe"

3.4.1 Eliminar elementos de la lista

mi_lista$email <- NULL # Elimina el correo institucional
mi_lista$email
NULL

3.5 Recorrer una Lista

for (elemento in mi_lista) {
print(elemento)}
[1] "Laura"
[1] 21
[1] "Cajatambo"
[1] "Estadistica"
[1] "3513341"

3.6 Aplicar una función a cada elemento

resultados <- lapply(mi_lista, function(x) paste("Valor:", x))
resultados
$nombre
[1] "Valor: Laura"

$edad
[1] "Valor: 21"

$ciudad
[1] "Valor: Cajatambo"

$carrera
[1] "Valor: Estadistica"

$telefono
[1] "Valor: 3513341"

3.7 Concatenacion

lista1 <-list(nombre="miguel",peso =70)
lista1
$nombre
[1] "miguel"

$peso
[1] 70
lista2 <-list(ciudad="Lambayeque",notas=c(10,14,15,18))
lista2
$ciudad
[1] "Lambayeque"

$notas
[1] 10 14 15 18
lista_concatenada_c <-c(lista1, lista2)# Concatenación con el operador c
lista_concatenada_c
$nombre
[1] "miguel"

$peso
[1] 70

$ciudad
[1] "Lambayeque"

$notas
[1] 10 14 15 18

3.8 Repetición

mi_lista <- list(nombre = "Camila", edad = 11)
mi_lista
$nombre
[1] "Camila"

$edad
[1] 11
lista_repetida <- rep(list(mi_lista), times = 2)
lista_repetida
[[1]]
[[1]]$nombre
[1] "Camila"

[[1]]$edad
[1] 11


[[2]]
[[2]]$nombre
[1] "Camila"

[[2]]$edad
[1] 11