lista1 <- list(nombre = "Juan", edad = 18, notas = c(17, 15, 16))3 Lista
Las listas almacenan cualquier cantidad de artículos de cualquier tipo. Una lista puede contener tods los números o caracteres o una combinación de los dos, marcos de datos o, de forma recursiva, otras listas.
Creación de una lista:
Use la función list() y especifique los elementos.
3.1 Acceder a los elementos de una lista
Acceso por índice (
[ ]):
Usando su índice dentro de la lista mediante corchetes. Los índices comienzan desde 1.lista1 <- list("rojo", "verde", "azul") a <- lista1[1]Acceso por índice (
[[ ]]) :
Utilizando doble cochete[[ ]].lista2 <- list("rojo", "verde", "azul") b <- lista2[[1]]Acceso por nombre (con
$):
Utilizando el operador$.lista3 <- list(nombre = "Juan", edad = 18, notas = c(17, 15, 16)) lista3$edad[1] 18lista3$notas[1] 17 15 16
3.2 Agregar elementos en la lista
Usando la función
c():
Se usa la funciónc()para combinar dos listas en una sola. Esto te permite agregar elementos a la lista existente.lista4 <- list("rojo", "verde", "azul") nuevos_elementos <- list("blanco", "negro") lista4 <- c(lista4, nuevos_elementos)Usando el operador
$:
Se usa el operador$, asignando un valor a un nombre que aún no existe en la lista.lista5 <- list("rojo", "verde", "azul") lista5$nuevo_color <- "blanco"Usando la función
append():
La funciónappend()te permite agregar elementos a una lista especificando el nombre del elemento y el valor que deseas agregar.lista6 <- list("rojo", "verde", "azul") lista6 <- append(lista6, list("blanco"))
3.3 Concatenación y repetición
Concatenación de vectores
Para concatenar vectores por fila (uno debajo del otro, puedes usar la funcionrbind()vector1 <- c(1, 2, 3) vector2 <- c(4, 5, 6) resultado1 <- rbind(vector1, vector2)Para concatenar vectores por columna (uno al lado del otro), puedes usar la función
cbind()vector1 <- c(1, 2, 3) vector2 <- c(4, 5, 6) resultado2 <- cbind(vector1, vector2)Concatenación de listas
Para cocatenar listas, puedes usar la funciónc()lista1 <- list(1, 2, 3) lista2 <- list("a", "b", "c") resultado <- c(lista1, lista2)Repetición de elementos
Repetición de elementos en un vector:
Para repetir elementos en un vector se usa el operadorrep().vector <- c(1, 2, 3) repetir1 <- rep(vector, times = 3)Repetición de elementos en una lista:
Para repetir elementos en una lista se usa funciones comolapply()oreplicate()o usando bucle confor.elemento <- list("a", "b") repetir2 <- replicate(3, elemento, simplify = FALSE)
3.4 Actualizar la lista
Actualización por nombre:
Usando$se puede actualizar un elemento en la lista por su nombre.lista10 <- list(nombre = "Juan", edad = 18, notas = c(95, 88, 75)) lista10$edad <- 20Actualización por Índice:
Conociendo la posición del elemento que se desea actualizar en la lista, se puede hacerlo mediante el índice.lista20 <- list("azul", "verde", "rojo") lista20[[3]] <- "blanco"