En R una lista es un objeto que consiste en una colección ordenada de objetos conocidos como sus componentes. No hay una necesidad particular de que los componentes sean del mismo tipo, y, por ejemplo, una lista podría consistir en un vector numérico, un valor lógico, una matriz, etc. Una lista puede contener a la vez varios de estos objetos, que pueden ser además de distintas dimensiones.
Aquí hay un ejemplo simple de cómo hacer una lista:
List <- list(nombre = "Fred", esposa = "Mary", no.hijos = 3, edades.hijos = c (4,7,9))
length(List)
## [1] 4
print(List)
## $nombre
## [1] "Fred"
##
## $esposa
## [1] "Mary"
##
## $no.hijos
## [1] 3
##
## $edades.hijos
## [1] 4 7 9
Los componentes siempre están numerados y siempre pueden denominarse como tales. Por lo tanto, si List es el nombre de una lista con cuatro componentes, estos pueden denominarse individualmente como: List [[1]], List [[2]], List [[3]] y List [[4]].
Si, además, List [[4]] es un vector, entonces Lst [[4]] [1] es su primera entrada.
Si List es una lista, la función legth(List) proporciona el número de componentes (de nivel superior) que tiene.
Los componentes de las listas también se pueden nombrar, y en este caso se puede hacer referencia al componente dando el nombre del componente como una cadena de caracteres en lugar del número entre corchetes dobles o, más convenientemente, dando una expresión de la forma:
List$nombre #es el mismo que Lst [[1]] y que Lst[[“nombre”]]
## [1] "Fred"
List$esposa #es lo mismo que Lst [[2]] y que Lst[[“esposa”]]
## [1] "Mary"
List$edades.hijos[1] #es lo mismo que Lst [[4]] [1] y que Lst[[“edades”]][1]
## [1] 4
Un herramienta muy útil para el trabajo con listas es la función str() que nos muestra su estructura:
str(List)
## List of 4
## $ nombre : chr "Fred"
## $ esposa : chr "Mary"
## $ no.hijos : num 3
## $ edades.hijos: num [1:3] 4 7 9