Упорядочить данные по переменным data.frame в R?

#r #dataframe #sorting #tidyverse #lubridate

#r #dataframe #сортировка #tidyverse #lubridate

Вопрос:

Я записал следующий скрипт для получения данных longer format . Как я могу получить data.frame arrange по variables , а не по Date ?. Это означает, что сначала я должен получить данные для Variable A для всех, за dates которыми Variable X следуют.

 library(lubridate)
library(tidyverse)

set.seed(123)

DF <- data.frame(Date = seq(as.Date("1979-01-01"), to = as.Date("1979-12-31"), by = "day"),
                 A = runif(365,1,10), X = runif(365,5,15)) %>% 
      pivot_longer(-Date, names_to = "Variables", values_to = "Values")
  

Ответ №1:

Возможно, я не понял wrigth, но вы можете упорядочить свои данные в соответствии со столбцом переменных с помощью arrange() функции.

 library(tidyverse)

DF <- DF %>% 
  arrange(Variables)
  

В результате этого

 # A tibble: 730 x 3
   Date       Variables Values
   <date>     <chr>      <dbl>
 1 1979-01-01 A           3.59
 2 1979-01-02 A           8.09
 3 1979-01-03 A           4.68
 4 1979-01-04 A           8.95
 5 1979-01-05 A           9.46
 6 1979-01-06 A           1.41
 7 1979-01-07 A           5.75
 8 1979-01-08 A           9.03
 9 1979-01-09 A           5.96
10 1979-01-10 A           5.11
# ... with 720 more rows
  

Ответ №2:

В base R мы можем использовать

 DF1 <- DF[order(DF$Variables),]
  

Ответ №3:

Я что-то упускаю? Это оно.

 arrange (DF,Variables,Date) %>% select(Variables,everything())