Komplexe Umordnung der Liste in die Matrix

8

Entschuldigung für den vagen Titel. Auch ein Beispiel sagt mehr als tausend Worte.

Ich habe eine Liste:

%Vor%

, die ich in der folgenden Matrix neu anordnen möchte:

%Vor%

wobei im Prinzip jede Koordinate Anwesenheit (1) oder Abwesenheit (0) jedes Listenwerts in jedem Listenelement darstellt.

Ich habe versucht, mit verschiedenen Kombinationen von as.data.frame (), unlist (), table () und melt () zu arbeiten, ohne Erfolg, also würden alle Zeiger in die richtige Richtung sehr geschätzt.

Ich denke, meine letzte Möglichkeit wäre eine verschachtelte Schleife, die die Listenelemente durchläuft und dann der entsprechenden Koordinate in der Matrix eine 0 oder eine 1 zuweist, aber sie erscheint übermäßig kompliziert.

%Vor%

Danke!

    
enricoferrero 04.09.2013, 16:42
quelle

2 Antworten

8
%Vor%     
eddi 04.09.2013, 16:47
quelle
7

Hier ist ein ziemlich manueller Ansatz:

%Vor%

Und, stack funktioniert auch!

%Vor%

Aktualisieren 1

Wenn Sie sich um die Zeilen- und Spaltenreihenfolge kümmern, können Sie factor explizit angeben, bevor Sie table verwenden:

%Vor%

Update 2: Benchmarks!

Weil Benchmarks Spaß machen ... sogar wenn wir über Mikrosekunden sprechen ... Go unlist !

%Vor%     
A5C1D2H2I1M1N2O1R2T1 04.09.2013 16:48
quelle

Tags und Links