Listas
Una lista en R es un objeto que consiste en una colección de objetos ordenados conocidos como componentes. Los tipos de datos que podemos almacenar en una lista van desde simples caracteres, números, vectores, matrices, data frames, entre otros tipos de objetos.
Crear una Listas
Para crear una lista podemos utilizar la función list()
y los argumentos serán los elementos que queremos incluir.
## Asignar un carácter
char <- "A"
## Asignar un número
num <- 23
## Crear un vector numérico
vec_num <- c(5,9,3,11,7)
## Crear un vector de caracteres
vec_char <- c("blanco","rojo","azul","rojo","blanco")
## Crear una matriz de numérica
mat_x <- matrix(1:9, nrow = 3, ncol = 3)
## Asignar un data frame
iris <- iris
## Crear la lista con todos los objetos antes creados utilizando la función list
all_obj <- list(char,num,vec_num,vec_char,mat_x,iris)
## Revisar la clase de objeto
class(all_obj)
Acceder a los componentes de una lista
Los componentes de las listas se encuentran en el orden que se colocaron y la forma de acceder a ellos es con doble corchete [[]]
.
## Revisamos la estructura de los datos
str(all_obj)
## Entramos al 4to componente de la lista que es un vector
all_obj[[4]]
## Como es un vector podemos acceder al 3er elemento poniendo enseguida corchetes
all_obj[[4]][3]
## Podemos asignar los componentes a variables
df_iris <- all_obj[[6]]
## O podemos trabajar el data frame directamente de la lista
all_obj[[6]]$Species
Cambiar los nombres de los componentes de una lista
Podemos cambiar los nombres de los componentes de la lista y de esa manera podremos acceder a ellos utilizando el operador $
.
## Asignar nombres al la lista
names(all_obj) <- c("uno","dos","tres","cuatro","cinco","seis")
## Podemos acceder al 3er compomente utilizando el operador $
all_obj$tres
## Podemos acceder al 5to elemto del vector
all_obj$tres[5]
Agregar, eliminar y cambiar nombres de los componentes en una lista
## Agregar un nuevo componente
vec_nuevo <- c(100,80,76,82,97)
all_obj[[7]] <- vec_nuevo
## Eliminar componente de una lista
all_obj[[2]] <- NULL
## Cambiar el nombre de un componente de una lista
names(all_obj)[6] <- "siete"