R Sorteer een dataframe met Order()


Bij data-analyse kan dat wel sorteren uw gegevens volgens een bepaalde variabele in de dataset. In R kunnen we de hulp van de functie order() gebruiken. In R kunnen we eenvoudig een vector van een continue variabele of factorvariabele sorteren. Het ordenen van de gegevens kan van alles zijn oplopende or aflopend order.

Syntax:

sort(x, decreasing = FALSE, na.last = TRUE):

Argument:

  • x: Een vector die een continue of factorvariabele bevat
  • afnemende: Controle voor de volgorde van de sorteermethode. Standaard is de afname ingesteld op `FALSE`.
  • laatste: Geeft aan of de waarde van `NA` als laatste moet worden geplaatst of niet

Voorbeeld 1

We kunnen bijvoorbeeld een tibble-dataframe maken en een of meerdere variabelen sorteren. Een tibble dataframe is een nieuwe benadering van dataframe. Het verbetert de syntaxis van het dataframe en vermijdt frustrerende datatype-opmaak, vooral voor karakter-tot-factor. Het is ook een handige manier om met de hand een dataframe te maken, wat hier ons doel is. Voor meer informatie over tibble verwijzen wij u naar het vignet: https://cran.r-project.org/web/packages/tibble/vignettes/tibble.html

library(dplyr)
set.seed(1234)
data_frame <- tibble(  
	c1 = rnorm(50, 5, 1.5),   
	c2 = rnorm(50, 5, 1.5),  
	c3 = rnorm(50, 5, 1.5),
	c4 = rnorm(50, 5, 1.5), 	
	c5 = rnorm(50, 5, 1.5)
)
# Sort by c1
df <-data_frame[order(data_frame$c1),]
head(df)

Output:

# A tibble: 6 x 5
##       c1       c2       c3       c4       c5
##     <dbl>    <dbl>    <dbl>    <dbl>    <dbl>
## 1 1.481453 3.477557 4.246283 3.686611 6.0511003
## 2 1.729941 5.824996 4.525823 6.753663 0.1502718
## 3 2.556360 6.275348 2.524849 6.368483 5.4787404
## 4 2.827693 4.769902 5.120089 3.743626 4.0103449
## 5 2.988510 4.395902 2.077631 4.236894 4.6176880
## 6 3.122021 6.317305 5.413840 3.551145 5.6067027

Voorbeeld 2

# Sort by c3 and c4
df <-data_frame[order(data_frame$c3, data_frame$c4),]
head(df)

Output:

# A tibble: 6 x 5
##        c1       c2       c3       c4       c5
##    <dbl>    <dbl>    <dbl>    <dbl>    <dbl>
## 1 2.988510 4.395902 2.077631 4.236894 4.617688
## 2 2.556360 6.275348 2.524849 6.368483 5.478740
## 3 3.464516 3.914627 2.730068 9.565649 6.016123
## 4 4.233486 3.292088 3.133568 7.517309 4.772395
## 5 3.935840 2.941547 3.242078 6.464048 3.599745
## 6 3.835619 4.947859 3.335349 4.378370 7.240240

Voorbeeld 3

# Sort by c3(descending) and c4(acending)
df <-data_frame[order(-data_frame$c3, data_frame$c4),]
head(df)

Output:

# A tibble: 6 x 5
##         c1       c2       c3        c4       c5
##      <dbl>    <dbl>    <dbl>     <dbl>    <dbl>
## 1 4.339178 4.450214 8.087243 4.5010140 8.410225
## 2 3.959420 8.105406 7.736312 7.1168936 5.431565
## 3 3.339023 3.298088 7.494285 5.9303153 7.035912
## 4 3.397036 5.382794 7.092722 0.7163620 5.620098
## 5 6.653446 4.733315 6.520536 0.9016707 4.513410
## 6 4.558559 4.712609 6.380086 6.0562703 5.044277