5  Diccionario

En el lenguaje de programación R, no se encuentra una estructura de datos integrada denominada “diccionario” como la presente en Python. Sin embargo, es posible obtener una funcionalidad similar utilizando otras estructuras de datos disponibles.

5.1 Creación de un diccionario usando lista

Se puede emular un diccionario usando una lista con nombres:

diccionario1 <- list(nombre = "Jhonatan", edad = 19, carrera = "Estadística")

5.2 Agregar elementos

Se puede agregar elementos en el diccionario emulado mediante una lista con nombres.

diccionario1 <- list(nombre = "Jhonatan", edad = 18, carrera = "Estadística")
diccionario1$país <- "Perú"
diccionario2 <- list(nombre = "William", edad = 19, carrera = "Matemática")
diccionario2$país <- "México"

5.3 Eliminar un elemento

Usando la función NULL , de esta manera se asigna un valor nulo a cualquier elemento.

diccionario1 <- list(nombre = "Jhonatan", edad = 18, carrera = "Estadística", país = "Perú")
diccionario1$carrera <- NULL
diccionario2 <- list(nombre = "William", edad = 19, carrera = "Matemática")
diccionario2$país <- NULL

5.4 Obtener lista de todas las claves

Mediante la función names() , el cual muestra un vector con los nombres de los elementos de la lista.

diccionario1 <- list(nombre = "Jhonatan", edad = 18, carrera = "Estadística", país = "Perú")
claves1 <- names(diccionario1)
diccionario2 <- list(nombre = "William", edad = 19, carrera = "Matemática")
claves2 <- names(diccionario2)

5.5 Obtener lista de valores

Mediante la función unlist() , esta extrae los valores de lista colocándolos en un vector.

diccionario1 <- list(nombre = "Jhonatan", edad = 18, carrera = "Estadística", país = "Perú")
valores1 <- unlist(diccionario1)
diccionario2 <- list(nombre = "William", edad = 19, carrera = "Matemática")
valores2 <- unlist(diccionario2)

5.6 Iterando en el diccionario

  • Usando bucle for :

    Se itera mediante un bucle for las claves de diccionario y sus valores correspondientes.

    diccionario1 <- list(nombre = "Jhonatan", edad = 18, carrera = "Estadística", país = "Perú")
    for (clave in names(diccionario1)) {
      valor <- diccionario1[[clave]]
      cat("Clave:", clave, "Valor:", valor, "\n")
    }
    Clave: nombre Valor: Jhonatan 
    Clave: edad Valor: 18 
    Clave: carrera Valor: Estadística 
    Clave: país Valor: Perú