mi_lista <- list(nombre = "Kennedy",edad = 19,ciudad = "Ventanilla",notas =c(90, 85, 88))
mi_lista$nombre
[1] "Kennedy"
$edad
[1] 19
$ciudad
[1] "Ventanilla"
$notas
[1] 90 85 88
En R Studio, una lista es una estructura de datos que se utiliza para almacenar colecciones heterogéneas de elementos. A diferencia de los vectores, que almacenan elementos del mismo tipo, una lista puede contener elementos de diferentes tipos, como números, cadenas, vectores u otras listas. Las listas son muy versátiles y se utilizan para organizar y estructurar datos de manera flexible. Aquí tienes una introducción a las listas y algunas funciones relacionadas con ejemplos:
Puedes crear una lista utilizando la función “list()”. Cada elemento de la lista se especifica mediante su nombre y su valor. Aquí hay un ejemplo:
mi_lista <- list(nombre = "Kennedy",edad = 19,ciudad = "Ventanilla",notas =c(90, 85, 88))
mi_lista$nombre
[1] "Kennedy"
$edad
[1] 19
$ciudad
[1] "Ventanilla"
$notas
[1] 90 85 88
En este ejemplo, hemos creado una lista llamada “mi_lista” con cuatro elementos diferentes: un nombre (cadena), una edad (número), una ciudad (cadena) y un vector de notas (vector numérico).
Puedes acceder a elementos individuales de una lista utilizando el operador “$” o corchetes “[ ]”. Aquí tienes ejemplos:
nombre <- mi_lista$nombre # Obtiene el nombre
nombre[1] "Kennedy"
edad <- mi_lista$edad # Obtiene la edad
edad[1] 19
notas <- mi_lista$notas # Obtiene el vector de notas
notas[1] 90 85 88
También puedes acceder a elementos mediante corchetes y el índice del elemento en la lista:
nombre <- mi_lista[[1]] # Obtiene el nombre
nombre[1] "Kennedy"
edad <- mi_lista[[2]] # Obtiene la edad
edad[1] 19
notas <- mi_lista[[4]] # Obtiene el vector de notas
notas[1] 90 85 88
Puedes modificar elementos de una lista asignando nuevos valores a ellos. Por ejemplo:
mi_lista$nombre <- "Rocio" # Modifica el nombre
mi_lista$nombre[1] "Rocio"
mi_lista$notas[2] <- 95 # Modifica la segunda nota
mi_lista$notas[2][1] 95
mi_lista$ciudad <- c("Los Ángeles", "San Francisco") # Modifica la ciudad como un vector
mi_lista$ciudad[1] "Los Ángeles" "San Francisco"
Puedes agregar elementos a una lista utilizando el operador “$” o la función “append()”. Para eliminar elementos, puedes usar “NULL”. Aquí hay ejemplos:
mi_lista$telefono <- "11-1526-0211" # Agrega un número de teléfono
mi_lista$telefono[1] "11-1526-0211"
mi_lista <- append(mi_lista, list(email ="rocioeleven.gmail.com")) #Agrega un correo electrónico
mi_lista$nombre
[1] "Rocio"
$edad
[1] 19
$ciudad
[1] "Los Ángeles" "San Francisco"
$notas
[1] 90 95 88
$telefono
[1] "11-1526-0211"
$email
[1] "rocioeleven.gmail.com"
mi_lista$telefono <- NULL # Elimina el número de teléfono
mi_lista$telefonoNULL
mi_lista$email <- NULL # Elimina el correo electrónico
mi_lista$emailNULL
mi_lista$nombre
[1] "Rocio"
$edad
[1] 19
$ciudad
[1] "Los Ángeles" "San Francisco"
$notas
[1] 90 95 88
Puedes recorrer una lista utilizando un bucle “for” o aplicando funciones como “lapply()” o “sapply()”. Estas funciones permiten aplicar una operación a cada elemento de la lista. Por ejemplo:
for (elemento in mi_lista) {
print(elemento)}[1] "Rocio"
[1] 19
[1] "Los Ángeles" "San Francisco"
[1] 90 95 88
resultados <- lapply(mi_lista, function(x) paste("Valor:", x))
resultados$nombre
[1] "Valor: Rocio"
$edad
[1] "Valor: 19"
$ciudad
[1] "Valor: Los Ángeles" "Valor: San Francisco"
$notas
[1] "Valor: 90" "Valor: 95" "Valor: 88"
En R, puedes concatenar (unir) dos listas utilizando la función “c()” o el operador “+”. Además, puedes repetir una lista varias veces utilizando el operador “rep()”. A continuación, te muestro cómo hacerlo:
lista1 <-list(nombre="Yanet",edad=18)
lista1$nombre
[1] "Yanet"
$edad
[1] 18
lista2 <-list(ciudad="Lima",notas=c(15, 18, 20))
lista2$ciudad
[1] "Lima"
$notas
[1] 15 18 20
lista_concatenada_c <-c(lista1, lista2) # Concatenación con el operador c
lista_concatenada_c$nombre
[1] "Yanet"
$edad
[1] 18
$ciudad
[1] "Lima"
$notas
[1] 15 18 20
Ambas formas de concatenación producirán una lista que contiene los elementos de ambas listas originales.
Se Puede repetir una lista varias veces utilizando la función “rep()”. Aquí tienes un ejemplo:
mi_lista <- list(nombre = "Van", edad = 3)
mi_lista$nombre
[1] "Van"
$edad
[1] 3
lista_repetida <- rep(list(mi_lista), times = 2)
lista_repetida[[1]]
[[1]]$nombre
[1] "Van"
[[1]]$edad
[1] 3
[[2]]
[[2]]$nombre
[1] "Van"
[[2]]$edad
[1] 3
En este ejemplo, “lista_repetida” contendrá tres copias de “mi_lista”. Puedes especificar cuántas veces deseas repetir la lista utilizando el argumento “times” en la función “rep()”.
Estas operaciones son útiles cuando se necesita combinar o repetir listas en un análisis o manipulación de datos en R.
Las listas son muy útiles para estructurar datos complejos en R, como conjuntos de observaciones con diferentes tipos de variables. Se Puede organizar y acceder a estos datos de manera flexible utilizando listas.