2010-09-17 8 views
10

En R, tengo, por ejemplo:estructura de datos Diccionario en I

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

Si escribo foo, me sale:

$a 
[1] 1 

$b 
[1] 2 

$c 
[1] 3 

Como puedo mirar a través de foo para obtener una lista de ¿"llaves" solamente? En este caso, (a, b, c).

Respuesta

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

Una lista R puede tener elementos con nombre y funcionar así como una estructura de diccionario. Usted sólo puede hacer:

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

Si usted está buscando una estructura de diccionario también puede considerar el uso de los hash paquetes que proporciona una Python y Perl como diccionario/hash con las funciones que se esperan como keys, por lo que se puede decir :

keys(hash) 

En términos de rendimiento una lista sirve como una mejor diccionario que un hash de varios cientos o menos elementos (< 200) debido al costo del hash. El paquete hash es mucho mejor para diccionarios muy grandes.

+2

Vota por dar información sobre cuándo usar 'list' y cuándo usar' hash/dict'. – Nick

Cuestiones relacionadas