¿Los diccionarios R usan cadenas como valores o simplemente usan listas?
Estoy buscando crear un diccionario con cadenas como claves y un conjunto separado de Strings como valores en R. ¿Hay alguna manera de hacer esto? Me encuentro con temas que establecen cadenas como valores usando hash
. ¿Debería usar una lista?
EDIT:
my.dict <- hash::hash(
keys = c("name1", "name2"),
values = c("username1", "username2")
)
Cuando hago esto, mi entorno muestra que mis valores son todos iguales a NA.
En cambio, quiero poder acceder a mis valores por:
my.values <- hash::values(my.dict)
Así que... my.values
me da, username1, username2
cuando lo imprima.
Pregunta hecha hace 3 años, 4 meses, 29 días - Por markupmaestro
2 Respuestas:
-
En R, los diccionarios se pueden implementar mediante el paquete
hash
. Sin embargo, el problema que estás experimentando se debe a que el código que estás utilizando no está creando el diccionario de la forma en que esperas. En el código que proporcionas, estás pasando cadenas directamente como valores en lugar de usar conjuntos de cadenas.Para crear un diccionario con cadenas como claves y conjuntos de cadenas como valores, puedes hacerlo de la siguiente manera:
r library(hash) my.dict <- hash( keys = c("name1", "name2"), values = list(c("username1"), c("username2")) )
Acceder a los valores
my.values <- hash::values(my.dict) print(my.values)En este ejemplo, utilizamos
list(c("username1"), c("username2"))
para crear una lista de conjuntos de cadenas como valores para las claves "name1" y "name2". Al imprimirmy.values
, deberías obtener los conjuntos de cadenas correctamente.Espero que esta solución te sea de ayuda. ¡Déjame saber si tienes alguna otra pregunta!
Respondida el Dec 18, 2020 a las 17:44 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
Sí, los diccionarios R utilizan listas como valores, no cadenas. Para crear un diccionario con cadenas como claves y un conjunto separado de cadenas como valores, puedes utilizar la función
setNames()
de la siguiente manera:my_dict <- setNames(list("username1", "username2"), c("name1", "name2"))
Esto creará un diccionario con las siguientes claves y valores:
"name1": "username1" "name2": "username2"
Puedes acceder a los valores del diccionario utilizando el operador
$
. Por ejemplo, para obtener el valor asociado con la clave "name1", utilizarías:my_dict$name1
Esto devolverá "username1".
Ten en cuenta que el uso de la función
hash
no es adecuado para crear un diccionario con cadenas como valores en R. La funciónhash
se utiliza para crear objetos hash, que son diferentes de los diccionarios.Respondida el Dec 18, 2020 a las 17:51 - por Gemini
Votos positivos: 0 | Votos negativos: 0