Ich habe eine MatrixSortieren eine Matrix durch mehrere Spalte in r
df<-matrix(data=c(3,7,5,0,1,0,0,0,0,8,0,9), ncol=2)
rownames(df)<-c("a","b","c","d","e","f")
[,1] [,2]
a 3 0
b 7 0
c 5 0
d 0 8
e 1 0
f 0 9
und ich möchte, um die Matrix bestellen, um zuerst durch Säule 1 und dann durch Säule zwei resultierenden in der Matrix
df.ordered<-matrix(data=c(7,5,3,1,0,0,0,0,0,0,9,8),ncol=2)
rownames(df.ordered)<-c("b","c","a","e","f","d")
[,1] [,2]
b 7 0
c 5 0
a 3 0
e 1 0
f 0 9
d 0 8
in absteigend
Irgendwelche Vorschläge, wie ich das erreichen könnte? Vielen Dank.
Wäre schön, eine Lösung zu haben, (Man könnte leicht einen Vektor von Indizes der Matrix geben), wo die Anzahl der Spalten ich möchte Sortieren nach kann variieren. – jmb
@jmb: Sie sollten Ihre eigene Frage stellen, mit einem Beispiel, wie diese Lösung für Ihre Bedürfnisse nicht ausreicht. Ich kann mir einen schnellen Hack vorstellen, aber andere können sich wahrscheinlich etwas Besseres einfallen lassen: 'df [do.call (order, c (abnehmend = TRUE, data.frame (df [, 1: 2]))), ] ' –