8  Diccionario

En R, una estructura de datos comúnmente utilizada para representar un diccionario o un conjunto de pares clave-valor es un “data frame” (marco de datos). Un marco de datos puede contener columnas que representan las claves y otras columnas que representan los valores asociados a esas claves. También puedes utilizar listas para representar diccionarios.

8.1 Usando un Marco de Datos

diccionario_personas <- data.frame(Nombre = c("Juan", "María", "Carlos"),Edad = c(30, 25, 28))
diccionario_personas
  Nombre Edad
1   Juan   30
2  María   25
3 Carlos   28
persona <- diccionario_personas[1, ] # Asociar a un nombre
persona
  Nombre Edad
1   Juan   30
edad_juan <- persona$Edad # Comprobar el valor de la clave
edad_juan
[1] 30

En este ejemplo, hemos creado un “diccionario” utilizando un marco de datos llamado “diccionario_personas”. Luego, asociamos un nombre a una de las filas y comprobamos el valor de la clave “Edad”.

8.2 Obtener la Lista de Pares Clave y Valor

Si deseas obtener una lista de pares clave-valor a partir de un marco de datos, puedes hacerlo de la siguiente manera:

lista_clave_valor <- as.list(diccionario_personas)
lista_clave_valor
$Nombre
[1] "Juan"   "María"  "Carlos"

$Edad
[1] 30 25 28

La variable “lista_clave_valor” contendrá una lista donde cada elemento es un par clave-valor representado como un vector.

8.3 Usando una Lista

También puedes utilizar una lista directamente para representar un diccionario:

diccionario <- list(Juan = 30,María = 25,Carlos = 28)
diccionario
$Juan
[1] 30

$María
[1] 25

$Carlos
[1] 28
edad_juan <- diccionario$Juan # Obtenemos la edad de Juan
edad_juan
[1] 30

En este ejemplo, hemos creado un “diccionario” utilizando una lista llamada “diccionario”. Luego, asociamos un nombre y comprobamos el valor de la clave “Juan”.

En R, las estructuras de datos más utilizadas para simular diccionarios son los marcos de datos (data frames) y las listas.

8.4 Agregar un Nuevo Par Clave-Valor

Puedes agregar un nuevo par clave-valor a un “diccionario” (lista o marco de datos) utilizando la asignación. Por ejemplo:

diccionario_personas$Pablo <- 35
diccionario_personas$Pablo
[1] 35 35 35
diccionario$Pablo <- 35
diccionario$Pablo
[1] 35

8.5 Eliminar un Par Clave-Valor

Puedes eliminar un par clave-valor de un “diccionario” utilizando el operador “$” y asignando “NULL” al valor o utilizando la función “rm()”. Por ejemplo:

diccionario_personas$Pablo <- NULL
diccionario_personas$Pablo
NULL
diccionario$Pablo <- NULL
diccionario$Pablo
NULL

8.6 Comprobar si una Clave Existe

Puedes verificar si una clave existe en un “diccionario” utilizando el operador “%in%” o la función “exists()”. Por ejemplo:

if ("Juan" %in% names(diccionario_personas)) {}
if (exists("Juan", where = diccionario)) {}
NULL

8.7 Obtener las Claves o Valores del Diccionario

Puedes obtener las claves o los valores del “diccionario” utilizando las funciones “names()” y “unlist()”, respectivamente. Por ejemplo:

names(diccionario_personas)
[1] "Nombre" "Edad"  
unlist(diccionario_personas)
 Nombre1  Nombre2  Nombre3    Edad1    Edad2    Edad3 
  "Juan"  "María" "Carlos"     "30"     "25"     "28" 

Estas son algunas de las operaciones adicionales que se puede realizar con “diccionarios” simulados en R utilizando listas y marcos de datos.