# Ejemplo
x = c(1,2,3,4,5)
y = c('manzana','naranja','mango')
# creando la lista
mi_lista = list(x, y)
mi_lista[[1]]
[1] 1 2 3 4 5
[[2]]
[1] "manzana" "naranja" "mango"  Una lista es una colección ordenada de elementos. Las listas son mutables, lo que significa que podemos actualizar el elemento de la lista a nivel de índice.
Sin embargo, una lista también es un tipo de secuencia, por lo que admite la indexación. Para crear la lista, necesitamos poner elementos dentro de los corchetes ([ ]) separándolos con una coma.
# Ejemplo
x = c(1,2,3,4,5)
y = c('manzana','naranja','mango')
# creando la lista
mi_lista = list(x, y)
mi_lista[[1]]
[1] 1 2 3 4 5
[[2]]
[1] "manzana" "naranja" "mango"  La lista admite la indexación (comenzando desde 1), por lo que, para acceder a los elementos de una lista, usaremos el índice de ese elemento.
# Primer elemento de la lista
mi_lista[1][[1]]
[1] 1 2 3 4 5# Primer elemento de la lista, simplificando la salida
mi_lista[[1]][1] 1 2 3 4 5# Primer elemento del primer elemento de la lista.
mi_lista[[1]][1][1] 1unlist(mi_lista[1])[1] # Equivalente[1] 1# Crear una lista inicial
mi_lista <- list(1, 2, 3)
# Elementos para agregar en una sola línea horizontal
nuevos_elementos <- c(4, 5, 6)
# Utilizar append para agregar elementos en una sola línea horizontal
mi_lista <- append(mi_lista, nuevos_elementos, after = length(mi_lista))
mi_lista[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
[[4]]
[1] 4
[[5]]
[1] 5
[[6]]
[1] 6usando append(), debido a que el operador “+” no se pueden utilizar para concatenar listas en R
lista1 <- list(1, 2, 3)
lista2 <- list(4, 5, 6)
concatenada <- append(lista1, lista2)
concatenada[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
[[4]]
[1] 4
[[5]]
[1] 5
[[6]]
[1] 6# Crear una lista
mi_lista <- list("Juan", 30, "México")
# Mostrar la lista original
print(mi_lista)[[1]]
[1] "Juan"
[[2]]
[1] 30
[[3]]
[1] "México"# Actualizar la edad (índice 2)
mi_lista[[2]] <- 31
# Mostrar la lista actualizada
print(mi_lista)[[1]]
[1] "Juan"
[[2]]
[1] 31
[[3]]
[1] "México"# Crear una lista
mi_lista <- list(nombre = "Juan", edad = 30, ciudad = "México")
# Mostrar la lista original
print(mi_lista)$nombre
[1] "Juan"
$edad
[1] 30
$ciudad
[1] "México"# Actualizar la edad
mi_lista$edad <- 31
# Mostrar la lista actualizada
print(mi_lista)$nombre
[1] "Juan"
$edad
[1] 31
$ciudad
[1] "México"En R, no existe una función remove() o pop() incorporada para eliminar elementos de una lista directamente. Para eliminar un elemento de una lista, utilizaremos la función NULL para asignar un valor nulo al elemento que deseas eliminar.
# Crear una lista
mi_lista <- list(nombre = "moises", edad = 30, ciudad = "peru")
# Mostrar la lista original
print(mi_lista)$nombre
[1] "moises"
$edad
[1] 30
$ciudad
[1] "peru"# Eliminar el elemento "edad" asignándole NULL
mi_lista$edad <- NULL
# Mostrar la lista después de eliminar "edad"
print(mi_lista)$nombre
[1] "moises"
$ciudad
[1] "peru"puedes comprobar la pertenencia de un elemento en un vector, lista o conjunto utilizando el operador %in%.
# Crear una lista
mi_lista <- list(a = 1, b = 2, c = 3, d = 4)
# Comprobar si la clave 'c' está en la lista
esta_presente <- 'c' %in% names(mi_lista)
# Imprimir el resultado
print(esta_presente)  # Esto imprimirá TRUE[1] TRUEutilizar la función “sort()” para ordenar los elementos de una lista en orden ascendente.
# Crear una lista con elementos numéricos
mi_lista <- list(3, 1, 4, 2, 5)
# Ordenar la lista
mi_lista_ordenada <- sort(unlist(mi_lista))
# Imprimir la lista ordenada
print(mi_lista_ordenada)[1] 1 2 3 4 5# Crear una lista
mi_lista <- list(1, 2, 3, 4, 5)
# Obtener la longitud de la lista
longitud <- length(mi_lista)
# Imprimir la longitud
print(longitud)[1] 5# Crear una lista con elementos repetidos
mi_lista <- list(1, 2, 2, 3, 3, 3)
# Elemento que deseamos contar
elemento_a_contar <- 2
# Contar cuántas veces aparece el elemento
recuento <- sum(unlist(mi_lista) == elemento_a_contar)
# Imprimir el recuento
print(recuento)[1] 2# Crear la lista
lista_6 <- c("R", "S", "T", "U", "D", "I", "O")
# Obtener el segmento de lista desde el primer índice hasta el quinto índice
segmento_lista <- lista_6[1:5]
# Imprimir el segmento de lista
print(segmento_lista)[1] "R" "S" "T" "U" "D"# Crear la lista
lista_6 <- c("R", "S", "T", "U", "D", "I", "O")
# Obtener el segmento de lista desde el primer índice hasta el final de la lista
segmento_lista <- lista_6[2:length(lista_6)]
# Imprimir el segmento de lista
print(segmento_lista)[1] "S" "T" "U" "D" "I" "O"# Crear la lista
lista_6 <- c("R", "S", "T", "U", "D", "I", "O")
# Obtener el segmento de lista desde el principio hasta el tercer elemento
segmento_lista <- lista_6[1:3]
# Imprimir el segmento de lista
print(segmento_lista)[1] "R" "S" "T"# Crear la lista
lista_6 <- c("R", "S", "T", "U", "D", "I", "O")
# Crear un vector de índices con un paso de 2
indices <- seq(from = 1, to = length(lista_6), by = 2)
# Obtener el segmento de lista con un paso de 2
segmento_lista <- lista_6[indices]
# Imprimir el segmento de lista
print(segmento_lista)[1] "R" "T" "D" "O"