Umgestaltung des Daten-Frames zu konvertieren Faktoren in Spalten in R
Habe ich einen Daten-frame, wo eine bestimmte Spalte hat eine Reihe von spezifischen Werten (sagen wir mal, 1, 2, ..., 23). Was ich tun möchte, ist die Konvertierung von diesem layout zu der einen, wo der Rahmen hätte extra 23 (in diesem Fall) Spalten, die jeweils stellvertretend für eine der Faktor-Werte. Die Daten in diesen Spalten werden würde, Boolean der angibt, ob eine bestimmte Zeile hatte einen bestimmten Faktor Wert... zeigen ein konkretes Beispiel:
Quell-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>
Gewünschte format:
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, das es in einer Schleife, aber ich hoffte, es wäre ein besserer Weg. So weit reshape()
hat nicht das gewünschte Ergebnis erzielt wurde. Hilfe wäre sehr geschätzt werden.
InformationsquelleAutor der Frage Alexander L. Belikoff | 2010-03-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde versuchen, Sie zu binden eine andere Spalte mit der Bezeichnung "Wert", und setzen Sie
value = TRUE
.Dann Umformen:
Das problem mit der
reshape
Funktion ist, dass der Standardwert für fehlende Werte ist NA (in dem Fall müssen Sie Durchlaufen und ersetzen Sie Sie mit FALSE).Sonst können Sie
cast
aus derreshape
- Paket (sehen Sie, diese Frage für ein Beispiel), und legen Sie die Standardeinstellung aufFALSE
.InformationsquelleAutor der Antwort Shane
Hier ist ein anderer Ansatz mit
xtabs
die kann oder kann nicht schneller sein (wenn jemand versuchen würde, und lassen Sie mich wissen):InformationsquelleAutor der Antwort Jonathan Chang