Acessando chave de um dicionário em R

votos
0

Eu criei um dicionário como este

dict = new.env()
key <- test
dict$key <- 20

Mas quando eu quero chave do dicionário, eu faço isso

print(ls(dict))

mas o que é retornado é chave e não teste.

Eu tentei fazer isso tão bem

dict[[key]] <- 20

mas eu obter os mesmos resultados. Então, como posso acessar as chaves do meu dicionário?

Publicado 22/02/2016 em 19:19
fonte usuário
Em outras línguas...                            


2 respostas

votos
1

Gostaria de criar um dicionário como este:

> dict<-c(1:20)
> names(dict)<-letters[1:20]
> dict
 a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t 
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 
> dict["t"]
 t 
20 
Respondeu 22/02/2016 em 19:27
fonte usuário

votos
2

Você pode usar tanto ambientes ou listas como dicionários (pessoalmente, eu prefiro o último), da seguinte maneira:

### using environment as dictionary
dict <- new.env()
dict[["key 1"]] <- 20
dict[["key 2"]] <- "ABC"

# let's see the keys:
ls(envir = dict)
# access by name:
dict[["key 1"]]
dict[["key 2"]]


### using list as dictionary
dict <- list()
dict[["key 1"]] <- 20
dict[["key 2"]] <- "ABC"

# let's see the keys:
names(dict)
# access by name:
dict[["key 1"]]
dict[["key 2"]]

# of course, in both case you can use a character variable to define the key,  e.g. :
myKey <- "key 3"
dict`myKey` <- 123
print(dict`myKey`)
# > [1] 123
Respondeu 22/02/2016 em 19:38
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more