<- list(nombre = "Oliver", edad = 21, ciudad = "Barcelona") mi_diccionario1
5 Diccionarios
En R, se utilizan principalmente listas con nombres o matrices asociativas para representar colecciones de datos con pares clave-valor, lo que se asemeja a la funcionalidad de un diccionario.
Creación de un diccionario en R usando listas con nombres. Puedes crear un diccionario emulado utilizando una lista con nombres. Cada par clave-valor en el diccionario se representa como un elemento en la lista con un nombre asociado.
5.1 Agregar elemento(s) en el diccionario
En R, puedes agregar elementos a un diccionario emulado, que se representa mediante una lista con nombres, simplemente asignando un nuevo valor a una clave que aún no existe en el diccionario.
5.1.1 Ejemplo
<- list(nombre = "Brimstone", edad = 40, ciudad = "Tokio")
mi_diccionario2 $profesion <- "Albañil" mi_diccionario2
5.2 Eliminar un elemento del diccionario de R
Para eliminar un elemento de un diccionario emulado en R, que está representado como una lista con nombres, puedes usar la función NULL
para asignar un valor nulo al elemento que deseas eliminar.
5.2.1 Ejemplo
<- list(nombre = "Breach", edad = 37, ciudad = "Londres", profesion = "Ingeniero")
mi_diccionario3 $profesion <- NULL mi_diccionario3
5.3 Comprobar la pertenencia de un elemento
Para comprobar si una clave específica pertenece a un diccionario emulado en R, que está representado como una lista con nombres, puedes utilizar la función exists()
. La función exists()
verifica si una variable o un elemento con el nombre especificado existe en el entorno actual. En este caso, usaremos exists()
para verificar si una clave específica existe en el diccionario.
5.3.1 Ejemplo
<- list(nombre = "Cypher", edad = 25, ciudad = "Osaka")
mi_diccionario4 if (exists("edad", where = mi_diccionario4)) {
cat("La clave 'edad' existe en el diccionario.")
else {
} cat("La clave 'edad' no existe en el diccionario.")
}
La clave 'edad' existe en el diccionario.
5.4 Obtener la lista de todas las claves de un diccionario
Para obtener la lista de todas las claves de un diccionario emulado en R, que está representado como una lista con nombres, puedes utilizar la función names()
. La función names()
devuelve un vector con los nombres de los elementos de la lista.
5.4.1 Ejemplo
<- list(nombre = "Omen", edad = 34, ciudad = "San Francisco")
mi_diccionario5 <- names(mi_diccionario5) claves
5.5 Obtener la lista de todos los valores de un diccionario
Para obtener la lista de todos los valores de un diccionario emulado en R, que está representado como una lista con nombres, puedes utilizar la función unlist()
. La función unlist()
permite extraer todos los valores de la lista y colocarlos en un solo vector.
5.5.1 Ejemplo
<- list(nombre = "Sova", edad = 26, ciudad = "Moscú")
mi_diccionario6 <- unlist(mi_diccionario6) valores
5.6 Obtener la lista de tuplas de pares clave y valor
Para obtener una lista de tuplas de pares clave-valor de un diccionario emulado en R (representado como una lista con nombres), puedes utilizar la función as.list()
junto con la función names()
.
5.6.1 Ejemplo
<- list(nombre = "Gekko", edad = 30, ciudad = "Florencia")
mi_diccionario7 <- as.list(mi_diccionario7) tuplas
5.7 Iterando un diccionario
Para iterar a través de un diccionario emulado en R, que se representa como una lista con nombres, puedes utilizar un bucle for
o funciones de la familia apply
.
Usando un bucle
for
. Puedes utilizar un buclefor
para iterar a través de las claves del diccionario y acceder a los valores correspondientes.Usando la función
lapply()
. Puedes utilizar la funciónlapply()
para aplicar una función a cada elemento del diccionario, lo que te permite iterar a través de las claves y valores de manera más eficiente.
5.7.1 Ejemplos
## Usando un bucle for
<- list(nombre = "Neon", edad = 21, ciudad = "Budapest")
mi_diccionario8
for (clave in names(mi_diccionario8)) {
<- mi_diccionario8[[clave]]
valor cat("Clave:", clave, "Valor:", valor, "\n")
}
Clave: nombre Valor: Neon
Clave: edad Valor: 21
Clave: ciudad Valor: Budapest
## Usando la función lapply()
<- list(nombre = "Sage", edad = 32, ciudad = "Viena")
mi_diccionario9
<- lapply(names(mi_diccionario9), function(clave) {
resultados <- mi_diccionario9[[clave]]
valor return(list(Clave = clave, Valor = valor))
})
for (resultado in resultados) {
cat("Clave:", resultado$Clave, "Valor:", resultado$Valor, "\n")
}
Clave: nombre Valor: Sage
Clave: edad Valor: 32
Clave: ciudad Valor: Viena
5.8 Conversión de clave, valor iterable en diccionario
Para convertir un iterable de pares clave-valor en un diccionario en R, puedes utilizar la función as.list()
.
Usando
as.list()
. Si tienes una lista de pares clave-valor representada como una lista de listas o una matriz, puedes utilizaras.list()
para convertirla en un diccionario. Cada par clave-valor se convierte en un elemento del diccionario.5.8.1 Ejemplo
<- list(c(clave = "nombre", valor = "Astra"), pares c(clave = "edad", valor = 19), c(clave = "ciudad", valor = "Chicago")) <- as.list(setNames(sapply(pares, `[[`, 2), sapply(pares, `[[`, 1))) mi_diccionario10 <- mi_diccionario10$nombre nombre <- mi_diccionario10$edad edad <- mi_diccionario10$ciudad ciudad