<- list(nombre = "Juan", edad = 18, notas = c(17, 15, 16)) lista1
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.<- list("rojo", "verde", "azul") lista1 <- lista1[1] a
Acceso por índice (
[[ ]]
) :
Utilizando doble cochete[[ ]]
.<- list("rojo", "verde", "azul") lista2 <- lista2[[1]] b
Acceso por nombre (con
$
):
Utilizando el operador$
.<- list(nombre = "Juan", edad = 18, notas = c(17, 15, 16)) lista3 $edad lista3
[1] 18
$notas lista3
[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.<- list("rojo", "verde", "azul") lista4 <- list("blanco", "negro") nuevos_elementos <- c(lista4, nuevos_elementos) lista4
Usando el operador
$
:
Se usa el operador$
, asignando un valor a un nombre que aún no existe en la lista.<- list("rojo", "verde", "azul") lista5 $nuevo_color <- "blanco" lista5
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.<- list("rojo", "verde", "azul") lista6 <- append(lista6, list("blanco")) lista6
3.3 Concatenación y repetición
Concatenación de vectores
Para concatenar vectores por fila (uno debajo del otro, puedes usar la funcionrbind()
<- c(1, 2, 3) vector1 <- c(4, 5, 6) vector2 <- rbind(vector1, vector2) resultado1
Para concatenar vectores por columna (uno al lado del otro), puedes usar la función
cbind()
<- c(1, 2, 3) vector1 <- c(4, 5, 6) vector2 <- cbind(vector1, vector2) resultado2
Concatenación de listas
Para cocatenar listas, puedes usar la funciónc()
<- list(1, 2, 3) lista1 <- list("a", "b", "c") lista2 <- c(lista1, lista2) resultado
Repetición de elementos
Repetición de elementos en un vector:
Para repetir elementos en un vector se usa el operadorrep()
.<- c(1, 2, 3) vector <- rep(vector, times = 3) repetir1
Repetición de elementos en una lista:
Para repetir elementos en una lista se usa funciones comolapply()
oreplicate()
o usando bucle confor
.<- list("a", "b") elemento <- replicate(3, elemento, simplify = FALSE) repetir2
3.4 Actualizar la lista
Actualización por nombre:
Usando$
se puede actualizar un elemento en la lista por su nombre.<- list(nombre = "Juan", edad = 18, notas = c(95, 88, 75)) lista10 $edad <- 20 lista10
Actualización por Índice:
Conociendo la posición del elemento que se desea actualizar en la lista, se puede hacerlo mediante el índice.<- list("azul", "verde", "rojo") lista20 3]] <- "blanco" lista20[[