Ändern Sie die Spaltenposition von data.table

8

Ich lerne, das Paket data.table zu verwenden. Eine der Sachen, die ich versuche, ist, die letzte Spalte ("x") in die erste Spalte zu verschieben. Hier ist, wie ich es für einen Datenrahmen mache:

%Vor%

Ich habe auf setcolorder nachgelesen und das versucht, aber ich bekomme einen Fehler

%Vor%

Kennt jemand eine bessere Lösung?

    
Wet Feet 27.10.2013, 15:18
quelle

2 Antworten

19

Option 1

Vielleicht können Sie setdiff :

verwenden %Vor%

Option 2

Verwenden Sie eine modifizierte Version Ihres Ansatzes:

%Vor%

oder

%Vor%

Warum der Fehler in Ihrem Ansatz? Sie haben versucht, sowohl Spaltennamen als auch numerische Spaltenindizes einzubeziehen. Benutze das eine oder das andere, aber nicht beides.

Option 3

Ich habe eine Funktion mit dem Namen moveme geschrieben (vorläufig findest du bei diesem Gist oder in meinem Blog ). Sie geben eine Zeichenfolge von "Verschieben" -Befehlen ein, die durch Semikolons getrennt sind. Auf diese Weise können Sie Ihre Spalten ziemlich flexibel mischen:

%Vor%     
A5C1D2H2I1M1N2O1R2T1 27.10.2013, 15:27
quelle
-1

Ich denke, die folgende Syntax funktioniert, wenn Sie x in der ersten Spalte

wollen %Vor%

Oder wenn Sie es in irgendeiner Spalte wie n wollen

%Vor%     
user2925400 27.10.2013 17:31
quelle

Tags und Links