mi_diccionario1 <- list(nombre = "Oliver", edad = 21, ciudad = "Barcelona")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
mi_diccionario2 <- list(nombre = "Brimstone", edad = 40, ciudad = "Tokio")
mi_diccionario2$profesion <- "Albañil"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
mi_diccionario3 <- list(nombre = "Breach", edad = 37, ciudad = "Londres", profesion = "Ingeniero")
mi_diccionario3$profesion <- NULL5.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
mi_diccionario4 <- list(nombre = "Cypher", edad = 25, ciudad = "Osaka")
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
mi_diccionario5 <- list(nombre = "Omen", edad = 34, ciudad = "San Francisco")
claves <- names(mi_diccionario5)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
mi_diccionario6 <- list(nombre = "Sova", edad = 26, ciudad = "Moscú")
valores <- unlist(mi_diccionario6)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
mi_diccionario7 <- list(nombre = "Gekko", edad = 30, ciudad = "Florencia")
tuplas <- as.list(mi_diccionario7)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 bucleforpara 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
mi_diccionario8 <- list(nombre = "Neon", edad = 21, ciudad = "Budapest")
for (clave in names(mi_diccionario8)) {
valor <- mi_diccionario8[[clave]]
cat("Clave:", clave, "Valor:", valor, "\n")
}Clave: nombre Valor: Neon
Clave: edad Valor: 21
Clave: ciudad Valor: Budapest
## Usando la función lapply()
mi_diccionario9 <- list(nombre = "Sage", edad = 32, ciudad = "Viena")
resultados <- lapply(names(mi_diccionario9), function(clave) {
valor <- mi_diccionario9[[clave]]
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
pares <- list(c(clave = "nombre", valor = "Astra"), c(clave = "edad", valor = 19), c(clave = "ciudad", valor = "Chicago")) mi_diccionario10 <- as.list(setNames(sapply(pares, `[[`, 2), sapply(pares, `[[`, 1))) nombre <- mi_diccionario10$nombre edad <- mi_diccionario10$edad ciudad <- mi_diccionario10$ciudad