Daten:Sortieren Spalten nach Jahren unabhängig in einem Datenrahmen in R
set.seed(0)
Temp <- data.frame(year=rep(1:3,each=4),V1=floor(rnorm(12)*2),V2=floor(rnorm(12)*2))
year V1 V2
1 1 2 -3
2 1 -1 -1
3 1 2 -1
4 1 2 -1
5 2 0 0
6 2 -4 -2
7 2 -2 0
8 2 -1 -3
9 3 -1 -1
10 3 4 0
11 3 1 0
12 3 -2 1
Ich möchte V1 und V2 innerhalb jedes Jahr unabhängig neu zu ordnen. Ich kann es mit 10 Zeilen machen, aber ich glaube, dass es einen schöneren Weg geben muss, es zu tun.
gewünschte Ausgabe:
year V1 V2
1 1 -1 -3
2 1 2 -1
3 1 2 -1
4 1 2 -1
5 2 -4 -3
6 2 -2 -2
7 2 -1 0
8 2 0 0
9 3 -2 -1
10 3 -1 0
11 3 1 0
12 3 4 1
Für Abwechslung ist eine Basis R Option 'Reduce (rbind, lapply (split (Temp, Temp $ year), Funktion on (x) data.frame (lapply (x, sort)))) '. Dies verwendet eine verschachtelte Schleife (mit 'lapply'). – lmo