Переупорядочить строки фрейма данных в dplyr - PullRequest
1 голос
/ 08 марта 2019

Как я могу изменить порядок данных кадра?Где бы я хотел, чтобы нижний ряд находился сверху, а верхний - снизу (реверс).

Ответы [ 2 ]

4 голосов
/ 08 марта 2019

Если вы просто хотите перевернуть фрейм данных, есть несколько способов сделать это.

Один путь в базе R будет использовать rev

df[rev(1:nrow(df)), ]

#    a  b
#10 10 20
#9   9 19
#8   8 18
#7   7 17
#6   6 16
#5   5 15
#4   4 14
#3   3 13
#2   2 12
#1   1 11

Если вы заинтересованы в dplyr решении, мы можем сделать

library(dplyr)
df %>% slice(n() - row_number() + 1)

Данные

 df <- data.frame(a = 1:10, b = 11:20)
2 голосов
/ 08 марта 2019

Более простой вариант - просто ввести nrow(df):1 в качестве индекса строки

df[nrow(df):1, ]

Или в data.table

library(data.table)
setDT(df)[.N:1]

Или опция с dplyr

library(dplyr)
df %>% 
  arrange(desc(row_number()))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...