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 la lista
Acceso por índice (
[ ]):Usando su índice dentro de la lista mediante corchetes. Los índices comienzan desde 1.
lista1 <- list("rojo", "verde", "azul") lista1[1][[1]] [1] "rojo"lista1[3][[1]] [1] "azul"Acceso por índice (
[[ ]]) :Utilizando doble cochete
[[ ]].lista2 <- list("rojo", "verde", "azul") lista2[1][[1]] [1] "rojo"lista2[3][[1]] [1] "azul"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ón
c()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) lista4[[1]] [1] "rojo" [[2]] [1] "verde" [[3]] [1] "azul" [[4]] [1] "blanco" [[5]] [1] "negro"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ón
append()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 funcion
rbind()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ón
c().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 como
lapply()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"