# Ejemplo
<- list(1, 2, 3, 4, 5)
mi_lista <- c("manzana","naranja","mango") frutas
2 Lista
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 paréntesis (), antecedidos por la funcnion c ,que sirve para asignarlos como vecto, o list y separarlos con una coma.
Por ejemplo, a = () representa una lista vacía y mi_lista = list(1,2,3,4,5). Aquí mi_lista hay una lista de números del 1 al 5.
paste(mi_lista)
[1] "1" "2" "3" "4" "5"
cat(frutas)
manzana naranja mango
2.1 Acceder a los elementos de la lista
La lista admite la indexación (comenzando desde 1), por lo que, para acceder a los elementos de una lista de R, usaremos el índice de ese elemento.
= c(1,2,3,4,"Cinco",6) mi_lista2
# primer elemento de la lista @ índice => [1]
<- mi_lista2[[1]]
primer <- mi_lista2[[1]]
segundo
cat("1er elemento de la lista = ", primer )
1er elemento de la lista = 1
cat("2do elemento de la lista = ", segundo)
2do elemento de la lista = 1
2.2 Agregar elemento(s) en la lista
Para agregar valor o elemento a la lista de R, tenemos la función append(value); append() agregará el valor al final de la lista de R
= c(1,2,3,4,"Cinco",6)
mi_lista2 cat("Lista inicial:",mi_lista2)
Lista inicial: 1 2 3 4 Cinco 6
# Agregar
<- append(mi_lista2, "Nuevo elemento") mi_lista_nueva
cat("Lista nueva:",mi_lista_nueva)
Lista nueva: 1 2 3 4 Cinco 6 Nuevo elemento
# Insert
2]] <- 80
mi_lista2[[cat("lista actualizada agregando un nuevo elemento en el segundo lugar :",mi_lista2)
lista actualizada agregando un nuevo elemento en el segundo lugar : 1 80 3 4 Cinco 6
2.3 Concatenación y repetición
Para concatenar dos listas de R, podemos usar la funcion append o unir los mediante coma en una nueva función usando el operador c(). Para usar repetición usamos la función rep().
#Ejemplo
<- c(2,4,6,8,10)
lista3 <- c(1,3,5,7)
lista4<- c(lista3, lista4)
numeros
cat(numeros)
2 4 6 8 10 1 3 5 7
# Usando la función 'append'
<- append(lista3, lista4)
concatenacion_append cat("Concatenación usando append:", concatenacion_append)
Concatenación usando append: 2 4 6 8 10 1 3 5 7
# Repetición de una lista en R
<- rep(lista3, times = 3)
repetir_lista cat("Repetición de la lista:", repetir_lista)
Repetición de la lista: 2 4 6 8 10 2 4 6 8 10 2 4 6 8 10
2.4 Actualizar la lista de R
Usando la indexación, podemos actualizar el valor indexado especificado en una lista.
<- c(1,2,3,4,5,6)
numeros 1] = 22
numeros[cat(numeros)
22 2 3 4 5 6
# Actualizar el valor de la posición 5 con 50
4]=50 numeros[
numeros
[1] 22 2 3 50 5 6
2.5 Eliminar un elemento de la lista de R
Las listas de R tienen funciones remove()y pop() eliminan un elemento de la lista.
$NULL: Toma un valor o un objeto de lista como argumento y elimina ese elemento de la lista.
<- list(1,2,3,4,5,6)
numeros <- numeros[-4]
numeros
paste(numeros)
[1] "1" "2" "3" "5" "6"
# Crear una lista
<- list(a = 1, b = 2, c = 3)
mi_lista
# Crear una nueva lista excluyendo el elemento en la posición "b"
<- mi_lista[-which(names(mi_lista) == "b")]
mi_lista paste(mi_lista)
[1] "1" "3"
2.6 Recorrer una lista
Al utilizar el operador ‘in’, podemos verificar si algún valor está presente en la lista o no. Si el valor existe en la lista, devolverá “True”.
# Ejemplo
<- c("fresa", "papaya", "pina")
frutas for (elemento in frutas)
print(elemento)
[1] "fresa"
[1] "papaya"
[1] "pina"
2.7 Aplicar función
<- lapply(frutas, function(x) paste("Valor:", x))
resultados resultados
[[1]]
[1] "Valor: fresa"
[[2]]
[1] "Valor: papaya"
[[3]]
[1] "Valor: pina"
2.8 Concatenación
<-list(fruta="pera",precio =12)
lista1 paste(lista1)
[1] "pera" "12"
2.9 Corte de lista
La división de listas es una forma práctica de obtener el subconjunto de una lista o una porción de una lista y se basa en la indexación.
Sintaxis:list[start:stop:step]
start: El objeto de segmento comenzará desde este índice. stop: El objeto de segmento se detendrá en este índice, lo que significa que el valor en este índice no se incluirá en un segmento devuelto de la lista. step: El paso de división determina el incremento de un índice a otro índice. El valor predeterminado es 1.
<- c("P","Y","T","H","O","N")
lista_6
# lista_6[1:5] => proporciona un segmento de lista desde el primer índice hasta el quinto índice
cat(lista_6[1:5])
P Y T H O