2.7 Listas

Las listas son estructuras de datos heterogéneas, es decir, permiten almacenar valores de diferentes clases y, al igual que los vectores, son de una dimensión. Se crean a partir de la función list().

lista <- list("valor" = 89, "vector_num" = 1:3, 
              "vector_str" = rep(c("a", "b", "c"), 2), 
              "matriz" = matrix(1:6, nrow = 2))
lista
## $valor
## [1] 89
## 
## $vector_num
## [1] 1 2 3
## 
## $vector_str
## [1] "a" "b" "c" "a" "b" "c"
## 
## $matriz
##      [,1] [,2] [,3]
## [1,]    1    3    5
## [2,]    2    4    6
length(lista)
## [1] 4

Sus valores se acceden dados sus nombres, utilizando el operador de extracción $ o con sus posiciones, usando [[

lista$vector_num
## [1] 1 2 3
lista[[3]]
## [1] "a" "b" "c" "a" "b" "c"

Aunque tengamos una lista que contiene solamente elementos numéricos, no es posible ejecutar funciones sobre ella, ya que estas no están vectorizadas para listas.

lista_num <- list(1:12)
mean(lista_num)
## Warning in mean.default(lista_num): argument is not numeric or logical:
## returning NA
## [1] NA