Lista nomeada aninhada no quadro de dados
Eu tenho o seguinte resultado da lista nomeada de uma análise. O código reproduzível é o seguinte:
list(structure(c(-213.555409754509, -212.033637890131, -212.029474755074,
-211.320398316741, -211.158815833294, -210.470525157849), .Names = c("wasn",
"chappal", "mummyji", "kmph", "flung", "movie")), structure(c(-220.119433774144,
-219.186901747536, -218.743319709963, -218.088361753899, -217.338920075687,
-217.186050877079), .Names = c("crazy", "wired", "skanndtyagi",
"andr", "unveiled", "contraption")))
Eu quero converter isso em um quadro de dados. Eu tentei cancelar a lista de opções de quadro de dados usando reshape2, dplyr e outras soluções fornecidas para converter uma lista em um quadro de dados, mas sem muito sucesso. A saída que eu estou procurando é algo como isto:
Col1 Val1 Col2 Val2
1 wasn -213.55 crazy -220.11
2 chappal -212.03 wired -219.18
3 mummyji -212.02 skanndtyagi -218.74
e assim por diante. A saída real possui várias colunas com valores emparelhados e é executada em várias linhas. Eu já tentei os seguintes códigos:
do.call(rbind, lapply(df, data.frame, stringsAsFactors = TRUE))
funciona parcialmente fornece todos os valores de caracteres em uma coluna e valores numéricos na segunda.
data.frame(Reduce(rbind, df))
não funcionou - fornece os nomes na primeira lista e os números de ambas as listas como duas linhas diferentes
colNames <- unique(unlist(lapply(df, names)))
M <- matrix(0, nrow = length(df), ncol = length(colNames),
dimnames = list(names(df), colNames))
matches <- lapply(df, function(x) match(names(x), colNames))
M[cbind(rep(sequence(nrow(M)), sapply(matches, length)),
unlist(matches))] <- unlist(df)
M
não funcionou corretamente.
Alguém pode ajudar?