Ich möchte eine verschachtelte Liste transponieren. Sei folgende verschachtelte Liste x gegeben ist:Eine verschachtelte Liste transponieren
a <- list(c("a","b","c","d"))
b <- list(c("d","c","b","a"))
c <- list(c("4","3","2","1"))
d <- list(c("1","2","3","4"))
x <- list(a,b,c,d)
Das Ergebnis eine verschachtelte Liste sein soll, wo die erste Spalte der ursprünglichen Liste x ist das erste nested Listenelement, das heißt „a“, „d“,“ 4 "," 1 ", die zweite Spalte ist das zweite verschachtelte Listenelement, dh" b "," c "," 3 "," 2 "und so weiter. Am Ende ist die Struktur eine Art Transposition der ursprünglichen Struktur. Wie kann das in R gemacht werden?
'Bibliothek (purrr); x%>% simplify_all()%>% transpose()%>% simplify_all()%>% map (Liste) 'wenn die Vektoren transponiert werden sollen, aber die Struktur gleich ist, obwohl sie wirklich unnötig verschachtelt ist. – alistaire
@alistaire danke, aber wenn zum Beispiel ein Vektor aus Ganzzahlen besteht, statt Zeichen, funktioniert das nicht mehr. – user3032689
Vektoren können nur einen Typ enthalten; 'purrr' lässt Sie Zeichen und Ganzzahlen nicht vereinfachen, ohne explizit auf einen Typ zu drücken, z. 'x%>% simplify_all()%>% map (als Zeichen)%>% transpose()%>% simplify_all()%>% map (list)'. Wenn Sie es vorziehen, wird 'data.table :: transpose 'automatisch erzwungen. – alistaire