Comment trier les trames de données dans r

Une façon de trier les données en R est de déterminer l'ordre dans lequel les éléments doivent être en, si vous étiez à trier. Cela semble longue haleine, mais comme vous le verrez, ayant cette flexibilité signifie que vous pouvez écrire des déclarations qui sont très naturel.

Sommaire

Comment faire pour obtenir l'ordre

Tout d'abord, de déterminer l'ordre des éléments à trier state.info $ Population dans l'ordre croissant. Pour ce faire, l'aide de la commande() fonction:

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

Cela signifie pour trier les éléments dans l'ordre croissant, vous prenez d'abord le deuxième élément, puis le huitième élément, puis le quatrième élément, et ainsi de suite. Essayez-le:




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

Comment trier une trame de données dans l'ordre croissant

Vous avez calculé l'ordre dans lequel les éléments de Population devrait être en ordre pour qu'il soit triée par ordre croissant, et vous stocké dans ce résultat order.pop. Maintenant, utiliser order.pop pour trier la base de données some.states dans l'ordre croissant de la population:

> Some.states [order.pop,] Région Population IncomeAlaska West365 6315DelawareSouth579 4809ArkansasSouth2110 3378 .... Géorgie South4931 4091Florida South8277 4815CaliforniaWest 21198 5114

Comment trier par ordre décroissant

Juste comme Trier(), la commande() fonction prend également un argument appelé décroissante. Par exemple, pour trier some.states dans l'ordre de diminution de la population:

> Order (some.states $ Population) [1] 2 8 4 3 6 7 1 10 9 5> order (some.states $ Population, diminuant = TRUE) [1] 5 9 10 1 6 7 3 4 8 2

Tout comme avant, vous pouvez trier la trame de données some.states dans l'ordre de diminution de la population. Essayez-le, mais cette fois ne pas attribuer l'ordre à une variable temporaire:

> Some.states [commande (some.states $ Population, diminuant = TRUE),] Région Population IncomeCaliforniaWest 21198 5114Florida South8277 4815Georgia South4931 4091 .... ArkansasSouth2110 3378DelawareSouth579 4809Alaska West365 6315

Comment trier sur plus d'une colonne

Vous pensez sans doute que le tri est très simple, et vous avez raison. Tri sur plus d'une colonne est presque aussi facile.

Vous pouvez passer plus d'un vecteur comme un argument pour la commande() fonction. Si vous le faites, le résultat sera l'équivalent d'ajouter une clé de tri secondaire. En d'autres termes, l'ordre sera déterminé par le premier vecteur et des liens triera alors selon le deuxième vecteur.

Ensuite, vous arrivez à trier some.states sur plus d'une colonne - dans ce cas, Région et Population. Si cela vous semble confus, ne vous inquiétez pas - il est vraiment pas. Essayez vous-même. Premièrement, calculez l'ordre de tri some.states dans l'ordre de la région ainsi à la population:

> Index lt; - (avec some.states, l'ordre (la région, population))> some.states [index,] Région Population IncomeConnecticut Northeast3100 5348DelawareSouth579 4809ArkansasSouth2110 3378Alabama South3615 3624Georgia South4931 4091Florida South8277 4815Alaska West365 6315Arizona West2212 4530Colorado West2541 4884CaliforniaWest 21198 5114

» » » » Comment trier les trames de données dans r