ho un elenco nidificato:R: Conversione lista annidata al dataframe e ottenere i nomi dei livelli di elenco als fattori
list1 <- list("A"=c(1,1,1), "B"=c(2,2,2), "C"=c(3,3,3))
list2 <- list("F1" = list1, "F2" = list1)
e vorrei ottenere l'ultimo livello della lista (che contiene il vettore) come dataframe e vorrei ottenere i livelli della lista come fattori:
Level1 Level2 V1 V2 V3
1 F1 A 1 1 1
2 F1 B 2 2 2
3 F1 C 3 3 3
4 F2 A 1 1 1
5 F2 B 2 2 2
6 F2 C 3 3 3
la prima parte è ben dato da:
data.frame(matrix(unlist(list2), ncol=3, byrow=T))
Tuttavia, non ho trovato un buon modo per ottenere anche i nomi a livello di elenco come fattori nello stesso dataframe. Qualche idea? :)
Modifica: La procedura dovrebbe funzionare fino a p dimensioni.
't (rbind.data.frame (list2))' si avvicina - avete solo bisogno di creare variabili dai rownames – user20650
Grazie! Il problema è che i nomi delle liste variano (sono valori dei parametri in una simulazione) quindi non posso semplicemente usare substr per eliminare i fattori. – jmb