2011-08-25 5 views
5

me gustaría para derretir esto:¿Cuál es la mejor manera de fundir una lista en un vector?

test = list(one = "joe" , two = c("john" , "jane")) 

en un vector de caracteres:

c("joe" , "john" , "jane") 

Traté de fusión() en el paquete de cambio de forma, pero que da como resultado una hoja.de.datos donde las cadenas son como factores, así que tendría que hacer algo como:

as.character(melt(test)$value) 

¿Hay una manera más corta/más rápida?

Respuesta

15
unlist(test) 

(mi respuesta es necesario que haya más de 30 caracteres!)

+0

Eso es tan concisa como se pone! Gracias ... ¡pensé que había algo realmente básico que me faltaba! – SFun28

+0

Si está tratando con una lista nombrada como en el ejemplo, puede acelerar la desinstalación especificando 'unlist (test, use.names = FALSE)' (siempre que no necesite los nombres en el vector resultante). Para listas grandes, esto puede hacer una notable diferencia de rendimiento –

Cuestiones relacionadas