Wie Sortieren von Datentelegrammen in R

Eine Möglichkeit, Daten in R des Sortierens ist, die Reihenfolge zu bestimmen, dass Elemente in sein sollte, wenn Sie sortieren waren. Das klingt langatmig, aber wie Sie sehen, diese Flexibilität bedeutet, dass Sie Anweisungen schreiben können, die sehr natürlich sind.

Wie kommt man die Reihenfolge

Bestimmen Sie zuerst das Element zu sortieren state.info $ Bevölkerung aufsteigend. Tun Sie dies mit dem Auftrag() Funktion:

> order.pop lt; - Ordnung (some.states $ Population)> order.pop [1] 2 8 4 3 6 7 1 10 9 5

Dies bedeutet, dass die Elemente in aufsteigender Reihenfolge zu sortieren, müssen Sie zunächst das zweite Element zu nehmen, dann das achte Element, dann das vierte Element, und so weiter. Versuch es:

> Some.states $ Bevölkerung [order.pop] [1] 365 579 2110 2212 2541 3100 3615 4931 8277 [10] 21198

Wie ein Datenrahmen in aufsteigender Reihenfolge zu sortieren

Sie können die Reihenfolge berechnet, in dem die Elemente Bevölkerung sein sollten, um für sie in aufsteigender Reihenfolge sortiert werden, und Sie dieses Ergebnis gespeichert in order.pop. Nun verwenden order.pop den Datenrahmen zu sortieren some.states aufsteigend der Bevölkerung:

> Some.states [order.pop,] Region Bevölkerung IncomeAlaska West365 6315DelawareSouth579 4809ArkansasSouth2110 3378 .... Georgia South4931 4091Florida South8277 4815CaliforniaWest 21198 5114

Wie zu sortieren in absteigender Reihenfolge

So wie Sortieren(), das Auftrag() Funktion nimmt auch ein Argument genannt abnehmend. Beispielsweise zu sortieren some.states in absteigender Reihenfolge der Bevölkerung:

> Bestellung (some.states $ Bevölkerung) [1] 2 8 4 3 6 7 1 10 9 5> Ordnung (some.states $ Bevölkerung, fallend = TRUE) [1] 5 9 10 1 7 6 3 4 8 2

Nach wie vor können Sie den Datenrahmen sortieren some.states in der Reihenfolge der Bevölkerung abnimmt. Probieren Sie es aus, aber dieses Mal nicht zuordnen, den Auftrag zu einer temporären Variablen:

> Some.states [Ordnung (some.states $ Bevölkerung, fallend = TRUE),] Region Bevölkerung IncomeCaliforniaWest 21198 5114Florida South8277 4815Georgia South4931 4091 .... ArkansasSouth2110 3378DelawareSouth579 4809Alaska West365 6315

Wie auf mehr als einer Spalte zu sortieren

Sie denken wahrscheinlich, dass die Sortierung sehr einfach ist, und Sie richtig sind. Sortieren auf mehr als eine Spalte ist fast so einfach.

Sie können auf die mehr als ein Vektor als Argument übergeben Auftrag() Funktion. Wenn Sie dies tun, wird das Ergebnis das Äquivalent eines sekundären Sortierschlüssel hinzuzufügen. Mit anderen Worten, wird der Auftrag durch den ersten Vektor und alle Bindungen werden nach sortieren dann zu dem zweiten Vektor bestimmt werden.

Als nächstes erhalten Sie sortieren some.states auf mehr als eine Spalte - in diesem Fall Region und Bevölkerung. Wenn dies verwirrend klingt, keine Sorge - es ist wirklich nicht. Versuch es selber. Berechnen Sie zuerst die Reihenfolge zu sortieren some.states in der Reihenfolge der Region als auch an Bevölkerung:

> index lt; - mit (some.states, um (Region, Bevölkerung))> some.states [Index] Region Bevölkerung IncomeConnecticut Northeast3100 5348DelawareSouth579 4809ArkansasSouth2110 3378Alabama South3615 3624Georgia South4931 4091Florida South8277 4815Alaska West365 6315Arizona West2212 4530Colorado West2541 4884CaliforniaWest 21198 5114

Menü