2010-09-17 4 views
10

Dans R, j'ai, par exemple:structure de données Dictionnaire en R

> foo <- list(a=1,b=2,c=3) 

Si je tape foo, je reçois:

$a 
[1] 1 

$b 
[1] 2 

$c 
[1] 3 

Comment puis-je regarder à travers foo pour obtenir une liste des "clés" seulement? Dans ce cas, (a, b, c).

Répondre

15
> names(foo) 
[1] "a" "b" "c" 
12

Une liste R peut avoir des éléments nommés et ainsi fonctionner comme une structure de dictionnaire. Vous pouvez juste faire:

> names(foo) 
[1] "a" "b" "c" 

Si vous êtes à la recherche d'une structure dictionnaire que vous pouvez également envisager d'utiliser les hash packages qui fournit un Python et Perl comme dictionnaire/hachage avec les fonctions attendues telles que keys, de sorte que vous pouvez dire :

keys(hash) 

En termes de performance d'une liste sert de dictionnaire mieux qu'un hachage pour plusieurs centaines d'éléments ou moins (< 200) en raison du coût du hachage. Le paquet de hachage est beaucoup mieux pour les très grands dictionnaires.

+2

Vote en hausse pour donner des informations sur quand utiliser 'list' et quand utiliser' hash/dict'. – Nick

Questions connexes