English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Listas en R

La lista es una colección de objetos en R, que se puede usar para guardar diferentes tipos de datos, como números, cadenas de caracteres, vectores, otra lista, etc., por supuesto, también puede contener matrices y funciones.

En R se crea una lista utilizando la función list().

Como se muestra en el siguiente ejemplo, creamos una lista que contiene cadenas de caracteres, vectores y números:

list_data <- list("w3codebox", "google", c(11,22,33), 123, 51.23, 119.1)
print(list_data)

El resultado de ejecutar el código anterior es:

[[1]]
[1] "w3codebox"
[[2]]
[1]] "google"
[[3]]
[1] 11 22 33
[[4]]
[1] 123
[[5]]
[1] 51.23

Podemos usar la función names() para nombrar los elementos de la lista:

# La lista contiene vectores, matrices y listas
list_data <- list(c("Google","w3codebox","Taobao"), nrow =1,2,3,4,5,6), nrow = 2),
   list("w3codebox",12.3))
# Asignar nombres a elementos de lista
names(list_data) <- c("Sitios", "Números", "Listas")
# Mostrar la lista
print(list_data)

El resultado de ejecutar el código anterior es:

$Sites
[1]] "Google" "w3codebox" "Taobao"
$Numbers
     [1], [2], [3]
[1,]    1    3    5
[2,]    2    4    6
$Lists
$Lists[[1]]
[1] "w3codebox"
$Lists[[2]]
[1] 12.3

Acceder a la lista

Los elementos de la lista se pueden acceder mediante índices, si se utiliza names() Después de nombrar la función, también podemos acceder utilizando el nombre correspondiente:

# La lista contiene vectores, matrices y listas
list_data <- list(c("Google","w3codebox","Taobao"), nrow =1,2,3,4,5,6), nrow = 2),
   list("w3codebox",12.3))
# Asignar nombres a elementos de lista
names(list_data) <- c("Sitios", "Números", "Listas")
# Mostrar la lista
print(list_data[1)]
# Acceder al tercer elemento de la lista
print(list_data[3)]
# Acceder al primer elemento de la lista
print(list_data$Numbers)

El resultado de ejecutar el código anterior es:

$Sites
[1]] "Google" "w3codebox" "Taobao"
$Lists
$Lists[[1]]
[1] "w3codebox"
$Lists[[2]]
[1] 12.3
     [1], [2], [3]
[1,]    1    3    5
[2,]    2    4    6

Operación de elementos de la lista

Podemos realizar operaciones de agregar, eliminar y actualizar en la lista, como se muestra en el siguiente ejemplo:

# La lista contiene vectores, matrices y listas
list_data <- list(c("Google","w3codebox","Taobao"), nrow =1,2,3,4,5,6), nrow = 2),
   list("w3codebox",12.3))
# Asignar nombres a elementos de lista
names(list_data) <- c("Sitios", "Números", "Listas")
# Agregar elemento
list_data[4] <- "Nuevo elemento"
print(list_data[4)]
# Eliminar elemento
list_data[4] <- NULL
# Al eliminar, el resultado es NULL
print(list_data[4)]
# Actualizar elemento
list_data[3] <- "Reemplazar el tercer elemento"
print(list_data[3)]

El resultado de ejecutar el código anterior es:

[[1]]
[1] "Nuevo elemento"
$<NA>
NULL
$Lists
[1] "Reemplazar el tercer elemento"

Combinar listas

Podemos usar la función c() para combinar múltiples listas en una lista:

# Crear dos listas
list1 <- list(1,2,3)
list2 <- list("Google","w3codebox","Taobao")
# Combinar listas
merged.list <- c(list1,list2)
# Mostrar lista combinada
print(merged.list)

El resultado de ejecutar el código anterior es:

[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 3
[[4]]
[1] "Google"
[[5]]
[1] "w3codebox"
[[6]]
[1] "Taobao"

Conversión de lista a vector

Para convertir una lista en un vector se puede usar la función unlist(), que convierte una lista en un vector, lo que nos facilita realizar operaciones aritméticas:

# Crear lista
list1 <- list(1:5)
print(list1)
list2 <-list(10:14)
print(list2)
# Convertir en vector
v1 <- unlist(list1)
v2 <- unlist(list2)
print(v1)
print(v2)
# Suma de dos vectores
result <- v1+v2
print(result)

El resultado de ejecutar el código anterior es:

[[1]]
[1] 1 2 3 4 5
[[1]]
[1] 10 11 12 13 14
[1] 1 2 3 4 5
[1] 10 11 12 13 14
[1] 11 13 15 17 19