fbpx

En esta entrada, hablaremos sobre lo que son las listas en R. Está sería la ultima parte de las estructuras de datos en el curso básico de R! Las listas pueden incluir todas las demás estructuras de datos que existen en R

Después de leer esta entrada vas a saber

  • Cómo crear listas en R
  • Cómo seleccionar elementos de una lista
  • Cómo agregar o quitar elementos a una lista

Además, esta entrada viene acompañada de un video que sigue una serie de videos en YouTube. También, hay una práctica con código en R. Así, puedes copiar el código de la página y pegarlo en tu sesión de RStudio.

Qué son las listas en R?

En la entrada de dataframes vimos que se pueden guardar diferentes tipos de datos en columnas. Ahora queremos ir un poco más allá y guardar diferentes objetos en una misma estructura de datos.

Las listas permiten agrupar o contener cosas como dataframes, matrices y vectores en una misma variable.

Un caso donde nos encontramos las listas es si hacemos una regresión lineal. Cuando usamos la función de regresión lineal, lm(), se carga una lista en el entorno de variables

lista en una lineal en R

En esa lista, vemos cosas como los coeficientes estimados, vectores con los residuos y otras cosas interesantes! Así, te conviene entender las listas para tener una visión mucho más global de cómo funcionan las cosas en R.

Datos de práctica

Para la práctica vamos a utilizar todo lo que hemos visto durante el curso, vectores, matrices, dataframes. vamos a poner todo en una misma lista!

En R, creamos las variables que vamos a utilizar. Sólo las ejecutamos con run lo siguiente

# Cargando datos de videos anteriores
# informacion peliculas shrek. Ver video --> https://bit.ly/2LaUWbo
nombre <- c("Shrek", "Shrek 2", "Shrek Tercero", "Shrek: Felices por siempre")
puntuacion <- c(7.9, 7.2, 6.1, 6.3)
posterior_2005 <- c(FALSE, FALSE, TRUE, TRUE)
# informacion estrenos de peliculas. Ver video --> https://bit.ly/2KDKCJE
warner <- c(20, 20, 16, 17, 17, 22, 17, 18, 19)
disney <- c(11, 13, 11, 8, 12, 11, 12, 8, 10)
fox <- c(18, 15, 15, 15, 16, 17, 15, 13, 11)

# crear diferentes estructuras de datos en R
vector_titulos <- nombre
matriz_peliculas <- matrix(c(warner, disney, fox),
                    nrow = 9,
                    ncol = 3)
peliculas_df <- data.frame(nombre,
                           puntuacion,
                           posterior_2005)

Cómo crear listas en R

Para crear una lista vamos a utilizar la función list y pasamos como argumentos los elementos que queremos incluir. Podemos cambiar los nombres utilizando la función names()

En R, vamos a crear una lista que contenga el vector de títulos de Shrek y la matriz con la cantidad de películas por productora de cine.

# crear lista en R
lista_curso <- list(vector_titulos,
                    matriz_peliculas)

# mostrar lista
lista_curso

Hay un 1 en doble corchete, luego está la matriz con un 2 en doble corchete, atento a este doble corchete, para la siguiente sección vas a entender porque está así.

Volvemos al código y cambiamos el nombre de los elementos con names. Ahora lo mismo pero en lugar de números tenemos nombres. Chévere

# cambiar nombre de dataframe
names(lista_curso) <- c('vector',
                        'matriz')

# mostrar dataframe (otra vez)
lista_curso

Cómo seleccionar elementos

En general para seleccionar elementos se utiliza esto [ ] un par de corchetes. Con las listas es diferente, porque se usan dobles corchetes [[ ]]

Luego de seleccionar un elemento de la lista, utilizamos las formas de selección que hemos visto para otros objetos, si seleccionamos un vector, usamos un par de corchetes. Si seleccionamos una matriz, utilizamos el par de corchetes separando con una coma para separar filas y columnas.

Código para seleccionar listas en R

En RStudio, vamos a seleccionar el vector. Utilizamos su nombre entre doble corchete. Luego, podemos seleccionar el elemento del elemento:

# Seleccionar vector de la lista
lista_curso[['vector']] # recomiendo usar este
lista_curso$vector # no recomiendo usar este porque confunde con df

# Seleccionar el tercer elemento del vector de la lista
lista_curso[['vector']][3]

# Seleccionar fila 5 y columna 3 de la matriz de la lista
lista_curso[['matriz']][5,3]

Cómo agregar o quitar elementos de las listas en R

Si quiero agregar un objeto a una lista, puedo asignarlo con un nombre. Para esto, vamos a seleccionar el objeto con doble corchete y luego vamos a asignar el contenido del dataframe.

Por otro lado, si queremos eliminar un objeto del dataframe podemos seleccionar ese elemento y asignarle el valor NULL

NULL es algo asi como un “valor en R” que no vale nada. Como el conjunto vacío? Que es un conjunto sin elementos! Bueno el NULL es algo que está por ahí para poner cuando no hay nada que poner, está vacío!

Código para seleccionar listas en R

En R, agregamos el dataframe a la lista que habíamos creado. Podemos verlo la lista

# agregar dataframe a lista
lista_curso[['dataframe']] <- peliculas_df

# revisar que está el dataframe
lista_curso

Por otro lado podemos quitar el vector de la lista con NULL

# eliminar un elemento de lista
lista_curso[['vector']] <- NULL

# revisar que no está el vector
lista_curso

Hemos aprendido mucho sobre estructuras de datos en R en esta serie de entradas!

Espero que te hayan sido útiles en tu camino de R! Si te aporta algo a ti o a tus proyectos, mucho mejor!

Estaré preparando más contenido en YouTube! Suscríbete si quieres aprender más

En este video vimos como: crear, seleccionar elementos y agregar o quitar elementos de una lista en R

Te mando un saludo en donde quiera que estés!