Wählen Sie die letzten n Spalten des Datenrahmens in R aus

8

Gibt es eine Möglichkeit, die letzten Spalten eines Datenrahmens systematisch auszuwählen? Ich möchte in der Lage sein, die letzten Spalten zu den ersten Spalten zu verschieben, aber die Reihenfolge der Spalten beizubehalten, wenn sie verschoben werden. Ich brauche einen Weg, dies zu tun, nicht Liste alle Spalten mit Subset (Daten, select = c (alle Spalten in der neuen Reihenfolge aufgeführt)), weil ich viele verschiedene Datenrahmen verwenden werde.

Hier ist ein Beispiel, wo ich die letzten 2 Spalten an die Vorderseite des Datenrahmens verschieben möchte. Es funktioniert, aber es ist hässlich.

%Vor%

Wenn Sie die Anzahl der Spalten im ursprünglichen Datenrahmen ändern, treten Probleme auf. Das funktioniert (siehe unten), aber die Benennung wird verworfen. Warum verhalten sich diese beiden Beispiele anders? Gibt es einen besseren Weg, dies zu tun und es zu verallgemeinern?

%Vor%     
Nancy 19.01.2015, 02:29
quelle

5 Antworten

4

Sie könnten etwas wie folgt verwenden:

%Vor%

Alternativ, wenn Sie die letzten n -Spalten an den Anfang verschieben möchten:

%Vor%     
jbaums 19.01.2015, 02:38
quelle
4

Das beschriebene Problem stimmt nicht mit dem Titel überein, und die vorhandenen Antworten beziehen sich auf den Teil der sich bewegenden Spalten und erklären nicht wirklich, wie die letzten N Spalten ausgewählt werden.

Wenn Sie nur die letzten n Spalten in einer Matrix / einem Datenrahmen auswählen möchten, ohne die Spaltennamen zu kennen:

%Vor%

und wenn Sie die letzten n Spalten haben möchten, versuchen Sie

%Vor%

Ein wenig umständlich, aber funktioniert. Könnte Wrapper-Funktion schreiben, wenn Sie es regelmäßig verwenden möchten.

    
Spcogg 23.04.2016 23:11
quelle
2

Datenrahmen sind nur Listen, so dass Sie sie wie jede andere Liste neu anordnen können:

%Vor%     
Jthorpe 19.01.2015 02:43
quelle
2

Sie können eine ähnliche Aktion mit dem SOfun -Paket durchführen, das auf GitHub verfügbar ist.

%Vor%

Sie können Spaltennamen wie dieses Beispiel aus der R-Hilfe verschieben.

%Vor%     
jazzurro 19.01.2015 03:14
quelle
1

Ich weiß, dass dieses Thema ein bisschen tot ist, wollte aber mit einer einfachen dplyr Lösung klingeln:

%Vor%

Hoffentlich hilft das zukünftigen Besuchern dieser Frage.

    
Dave Gruenewald 27.07.2017 19:52
quelle

Tags und Links