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%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.
Ich weiß, dass dieses Thema ein bisschen tot ist, wollte aber mit einer einfachen dplyr
Lösung klingeln:
Hoffentlich hilft das zukünftigen Besuchern dieser Frage.