Umformen mehrerer Variablen mit cast

8

Ich habe einen data.frame, der so aussieht:

%Vor%

Ich möchte alle vier Nicht-ID-Variablen durch id umformen. Mit anderen Worten, ich möchte colnames:

%Vor%

Ich kann das für eine einzelne Variable tun:

%Vor%

Aber wenn ich es für ein paar versuche, scheitert es einfach ganz:

%Vor%

Irgendwelche Hinweise? Ich kann die Basis (stats) reshape Befehl verwenden, aber ich versuche wirklich, davon wegzukommen, da es zu viel manuelles Kopfhauttrauma vom Haarziehen verursacht ....

%Vor%     
Ari B. Friedman 06.04.2012, 21:43
quelle

3 Antworten

13

Ich denke, das Problem ist, dass ff.df noch nicht ausreichend geschmolzen ist. Versuchen Sie Folgendes:

%Vor%

Macht das den Trick für Sie?

Im Wesentlichen bestimmen die Variablen, die auf der rechten Seite der Casting-Formel angegeben sind, die Spalten, die im Cast-Ergebnis erscheinen. Wenn Sie nur .id angeben, haben Sie nach cast gefragt, um alle diese Wertevektoren in nur drei Spalten - 1, 2 und 3 - zu stopfen. Durch das vollständige Schmelzen der Daten wird die Spalte variable erstellt , mit der Sie angeben können, dass die Kombination der Vektoren .id und variable die Spalten des Darstellungsdatenrahmens definieren soll.

(Tut mir leid, wenn ich wiederholend / pedantisch bin! Ich versuche, es auch für mich selbst auszuarbeiten)

    
Matt Parker 06.04.2012, 21:57
quelle
7

Sie können dies mit der Funktion reshape in base R tun. Die Reihenfolge der Spalten ist etwas seltsam, kann aber leicht behoben werden.

%Vor%     
Ramnath 07.04.2012 07:51
quelle
4

Dies könnte mit dcast aus der devel-Version von data.table ie v1.9.5

%Vor%     
akrun 19.03.2015 16:55
quelle

Tags und Links