Учебники

8) R Сортировать фрейм данных

При анализе данных вы можете отсортировать данные по определенной переменной в наборе данных. В R мы можем использовать помощь функции order (). В R мы можем легко отсортировать вектор непрерывной переменной или факторной переменной. Расположение данных может быть в порядке возрастания или убывания .

Синтаксис:

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

Аргумент:

  • x : вектор, содержащий непрерывную или факторную переменную
  • убывающий : Контроль порядка сортировки метода. По умолчанию для уменьшения установлено значение «ЛОЖЬ».
  • last : указывает, должно ли значение `NA` указываться последним или нет

Пример 1

Например, мы можем создать фрейм данных tibble и отсортировать одну или несколько переменных. Фрейм данных Tibble — это новый подход к фрейму данных. Это улучшает синтаксис фрейма данных и позволяет избежать расстраивающего форматирования типов данных, особенно для символьного фактора. Это также удобный способ создания фрейма данных вручную, что является нашей целью здесь. Чтобы узнать больше о тибле, пожалуйста, обратитесь к виньетке: 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)

Вывод:

# 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

Пример 2

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

Вывод:

# 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

Пример 3

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

Вывод:

# 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