# Ejemplo
= c(1,2,3,4,5)
x = c('manzana','naranja','mango')
y
# creando la lista
= list(x, y)
mi_lista 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
= c(1,2,3,4,5)
x = c('manzana','naranja','mango')
y
# creando la lista
= list(x, y)
mi_lista 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
1] mi_lista[
[[1]]
[1] 1 2 3 4 5
# Primer elemento de la lista, simplificando la salida
1]] mi_lista[[
[1] 1 2 3 4 5
# Primer elemento del primer elemento de la lista.
1]][1] mi_lista[[
[1] 1
unlist(mi_lista[1])[1] # Equivalente
[1] 1
# Crear una lista inicial
<- list(1, 2, 3)
mi_lista
# Elementos para agregar en una sola línea horizontal
<- c(4, 5, 6)
nuevos_elementos
# Utilizar append para agregar elementos en una sola línea horizontal
<- append(mi_lista, nuevos_elementos, after = length(mi_lista))
mi_lista mi_lista
[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
[[4]]
[1] 4
[[5]]
[1] 5
[[6]]
[1] 6
usando append(), debido a que el operador “+” no se pueden utilizar para concatenar listas en R
<- list(1, 2, 3)
lista1 <- list(4, 5, 6)
lista2
<- append(lista1, lista2)
concatenada concatenada
[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
[[4]]
[1] 4
[[5]]
[1] 5
[[6]]
[1] 6
# Crear una lista
<- list("Juan", 30, "México")
mi_lista
# Mostrar la lista original
print(mi_lista)
[[1]]
[1] "Juan"
[[2]]
[1] 30
[[3]]
[1] "México"
# Actualizar la edad (índice 2)
2]] <- 31
mi_lista[[
# Mostrar la lista actualizada
print(mi_lista)
[[1]]
[1] "Juan"
[[2]]
[1] 31
[[3]]
[1] "México"
# Crear una lista
<- list(nombre = "Juan", edad = 30, ciudad = "México")
mi_lista
# Mostrar la lista original
print(mi_lista)
$nombre
[1] "Juan"
$edad
[1] 30
$ciudad
[1] "México"
# Actualizar la edad
$edad <- 31
mi_lista
# 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
<- list(nombre = "moises", edad = 30, ciudad = "peru")
mi_lista
# Mostrar la lista original
print(mi_lista)
$nombre
[1] "moises"
$edad
[1] 30
$ciudad
[1] "peru"
# Eliminar el elemento "edad" asignándole NULL
$edad <- NULL
mi_lista
# 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
<- list(a = 1, b = 2, c = 3, d = 4)
mi_lista
# Comprobar si la clave 'c' está en la lista
<- 'c' %in% names(mi_lista)
esta_presente
# Imprimir el resultado
print(esta_presente) # Esto imprimirá TRUE
[1] TRUE
utilizar la función “sort()” para ordenar los elementos de una lista en orden ascendente.
# Crear una lista con elementos numéricos
<- list(3, 1, 4, 2, 5)
mi_lista
# Ordenar la lista
<- sort(unlist(mi_lista))
mi_lista_ordenada
# Imprimir la lista ordenada
print(mi_lista_ordenada)
[1] 1 2 3 4 5
# Crear una lista
<- list(1, 2, 3, 4, 5)
mi_lista
# Obtener la longitud de la lista
<- length(mi_lista)
longitud
# Imprimir la longitud
print(longitud)
[1] 5
# Crear una lista con elementos repetidos
<- list(1, 2, 2, 3, 3, 3)
mi_lista
# Elemento que deseamos contar
<- 2
elemento_a_contar
# Contar cuántas veces aparece el elemento
<- sum(unlist(mi_lista) == elemento_a_contar)
recuento
# Imprimir el recuento
print(recuento)
[1] 2
# Crear la lista
<- c("R", "S", "T", "U", "D", "I", "O")
lista_6
# Obtener el segmento de lista desde el primer índice hasta el quinto índice
<- lista_6[1:5]
segmento_lista
# Imprimir el segmento de lista
print(segmento_lista)
[1] "R" "S" "T" "U" "D"
# Crear la lista
<- c("R", "S", "T", "U", "D", "I", "O")
lista_6
# Obtener el segmento de lista desde el primer índice hasta el final de la lista
<- lista_6[2:length(lista_6)]
segmento_lista
# Imprimir el segmento de lista
print(segmento_lista)
[1] "S" "T" "U" "D" "I" "O"
# Crear la lista
<- c("R", "S", "T", "U", "D", "I", "O")
lista_6
# Obtener el segmento de lista desde el principio hasta el tercer elemento
<- lista_6[1:3]
segmento_lista
# Imprimir el segmento de lista
print(segmento_lista)
[1] "R" "S" "T"
# Crear la lista
<- c("R", "S", "T", "U", "D", "I", "O")
lista_6
# Crear un vector de índices con un paso de 2
<- seq(from = 1, to = length(lista_6), by = 2)
indices
# Obtener el segmento de lista con un paso de 2
<- lista_6[indices]
segmento_lista
# Imprimir el segmento de lista
print(segmento_lista)
[1] "R" "T" "D" "O"