Hvordan sortere data Rammer i R

September 15  by Eliza

En måte å sortere data i R er å bestemme rekkefølgen på at elementer skal være i, hvis du skulle sortere. Dette høres lang omstendelig, men som du ser, har denne fleksibiliteten betyr at du kan skrive utsagn som er veldig naturlig.

Hvordan få orden

Først bestemme element for å sortere state.info $ Befolkning i stigende rekkefølge. Gjøre dette ved hjelp rekkefølgen () funksjon:

> Order.pop <- bestilling (some.states $ Befolkning)
> Order.pop
[1] 2 8 4 3 6 7 1 10 9 5

Dette betyr at for å sortere elementene i stigende rekkefølge, man først ta det andre elementet, og det åttende element, og det fjerde element, og så videre. Prøv det:

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

Hvordan å sortere en dataramme i stigende rekkefølge

Du beregnet i hvilken rekkefølge elementene i Befolkning bør være for at det skal sorteres i stigende rekkefølge, og du lagret som resultat i order.pop. Nå bruker order.pop å sortere dataene ramme some.states i stigende rekkefølge av befolkningen:

> Some.states [order.pop,]
Region Befolkning Inntekt
Alaska West 365 6315
Delaware South 579 4809
Arkansas South 2110 3378
....
Georgia Sør 4931 4091
Sør-Floridas 8277 4815
California West 21198 5114

Hvordan sortere i synkende rekkefølge

Akkurat som sort (), rekkefølgen () -funksjonen tar også et argument kalt avtagende. For eksempel vil sortere some.states i synkende rekkefølge av befolkningen:

> Rekkefølge (some.states $ Befolkning)
[1] 2 8 4 3 6 7 1 10 9 5
> Rekkefølge (some.states $ Befolkning, mink = TRUE)
[1] 5 9 10 1 7 6 3 4 8 2

Akkurat som før, kan du sortere dataene ramme some.states i synkende befolkning. Prøv det, men denne gangen ikke tildele ordre til en midlertidig variabel:

> Some.states [rekkefølge (some.states $ Befolkning, mink = TRUE),]
Region Befolkning Inntekt
California West 21198 5114
Sør-Floridas 8277 4815
Georgia Sør 4931 4091
....
Arkansas South 2110 3378
Delaware South 579 4809
Alaska West 365 6315

Hvordan sortere på mer enn én kolonne

Du sannsynligvis tror at sortering er veldig grei, og du er riktige. Sortering på mer enn én kolonne er nesten like lett.

Du kan sende mer enn én vektor som et argument til bestillingen () -funksjonen. Hvis du gjør det, vil resultatet være det samme som å legge til en sekundær sortering nøkkel. Med andre ord, vil ordren bli bestemt av den første vektoren og eventuelle bånd vil da liksom i henhold til den andre vektoren.

Deretter får du sortere some.states på mer enn én kolonne - i dette tilfellet, Region og Befolkning. Hvis dette høres forvirrende, ikke fortvil - det er virkelig ikke. Prøv det selv. Beregn først å sortere some.states i størrelsesorden regionen så vel på befolkningen:

> Hovedside <- med (some.states, orden (Region, Befolkning))
> some.states [indeks,]
Region Befolkning Inntekt
Connecticut Nordøst 3100 5348
Delaware South 579 4809
Arkansas South 2110 3378
Alabama South 3615 3624
Georgia Sør 4931 4091
Sør-Floridas 8277 4815
Alaska West 365 6315
Arizona West 2212 4530
Colorado West 2541 4884
California West 21198 5114