k Spalten um 2 Spalten umgestalten, die sequentielle Paare der Werte der k Variablen darstellen

8

Ich habe einen Datenrahmen wie folgt:

%Vor%

Ich möchte so umgestalten, dass ich mit zwei Spalten abschließe. Das obige Beispiel würde dann lauten:

%Vor%

Jedes id hat ein 'von' und ein 'zu' pro Paar Jahreswerte.
Kennt jemand eine einfache Möglichkeit, dies zu tun? Ich habe versucht mit reshape2 . Ich schaute auch auf Mehrere Spalten in Tidy Data kombinieren , aber ich denke, mein Fall ist anders.

    
Raul Torres 03.07.2017, 22:58
quelle

3 Antworten

5

Sie können lapply verwenden, um die Spaltenpaare zu durchlaufen, und rbind , um sie zu verbinden:

%Vor%     
HubertL 03.07.2017, 23:24
quelle
5

Eine Lösung verwendet dplyr und tidyr . dt2 ist die endgültige Ausgabe.

%Vor%     
www 03.07.2017 23:32
quelle
4

In der Basis R, stack und verschiebe alles um eine Zeile in jeder Gruppe zurück. Verwenden Sie @ccws Beispieldaten dt :

%Vor%

In der Welt von data.table gilt die gleiche Logik. melt , dann shift by= id:

%Vor%     
thelatemail 04.07.2017 00:09
quelle

Tags und Links