R – Convertendo listas com número variável de elementos em data frames as.data.frame.list()

October 31, 2016 no comments Posted in Código, R

Quem já passou pelo problema de ter trabalhar com listas e data.frames em R sabe que nem sempre a sua conversão é trivial, especialmente nos casos onde o número elementos em cada elemento da lista é variável. Em Inglês muitos usam a expressão “list flattening”, soa estranho a tradução para achatamento ou planarização?, talvez o mais apropriado seja “redução de uma lista para um a data.frame”.

Um exemplo possível:

Via o RBloggers um artigo publicado por  resolve o problema via uma função própria as.data.frame.list().

A código da função pode ser baixada diretamente do gitHub, https://gist.github.com/jbryer/4676064, mas o metodo recomendado é usar o devtools diretamente no seu código de modo a sempre usar a versão mais atualizada.

require(devtools)
source_gist(4676064)

A principal exigência para o uso da função é que todos os elementos da lista sejam vetores. O que no meu nível de conhecimento atual de R só consegui através de uma transposição para data.frame prévia.

Aqui um exemplo com 3 listas de tamanho diferente

e o resultado

A nossa lista p, fica assim. Extremamente útil.

Related Story
%d bloggers like this: