Search code examples
rdataframesortingtidyverselubridate

Arrange data by variables of a data.frame in R?


I have written down the following script to get the data in longer format. How i can get the data.frame arrange by variables and not by Date?. That means first i should get the data for Variable A for all the dates followed by 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")

Solution

  • Maybe I not understood wrigth, but you can arrange your data according to the variables column, through the arrange() function.

    library(tidyverse)
    
    DF <- DF %>% 
      arrange(Variables)
    

    Resulting this

    # 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