zu konvertieren Ich habe einen Datenrahmen, wo eine bestimmte Spalte eine Reihe von bestimmten Werten (sagen wir 1, 2, ..., 23) hat. Was ich tun möchte, ist, von diesem Layout zu demjenigen zu konvertieren, wo der Rahmen zusätzliche 23 (in diesem Fall) Spalten hätte, von denen jede einen der Faktorwerte darstellt. Die Daten in diesen Spalten wären booleans anzeigt, ob eine bestimmte Zeile einen Faktorwert gegeben hatte ... ein spezielles Beispiel zeigen:Reshape Datenrahmen, um Faktoren in Spalten in R
Quelle Rahmen:
ID DATE SECTOR
123 2008-01-01 1
456 2008-01-01 3
789 2008-01-02 5
... <more records with SECTOR values from 1 to 5>
Wunschformat:
ID DATE SECTOR.1 SECTOR.2 SECTOR.3 SECTOR.4 SECTOR.5
123 2008-01-01 T F F F F
456 2008-01-01 F F T F F
789 2008-01-02 F F F F T
Ich habe kein Problem damit, es in einer Schleife zu machen, aber ich hoffte, dass es einen besseren Weg geben würde. Bisher reshape()
ergab nicht das gewünschte Ergebnis. Hilfe wäre sehr willkommen.
Danke. Ich hätte darüber nachdenken sollen, eine Wertespalte zu erstellen. Interessanterweise benötigt die Value Column/Reshape-Methode 1,4 Sekunden bei 9.500 Zeilen mit 26 Faktorstufen, während die iterative Methode (über Ebenen) nur 0,6 Sekunden benötigt. –
Lassen Sie sich nicht von diesen Funktionen austricksen: Die 'Umform'-Funktion selbst iteriert, wenn Sie sie betrachten. Aber es macht viel mehr als das, was die Gesamtzeit verlängern wird. Dinge wie "Umgestaltung" sollen nicht besser funktionieren; Sie dienen nur dazu, die Datenmanipulation zu vereinfachen. – Shane