在 R 中按 data.frame 的变量排列数据?

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

我写下了下面的脚本来获取longer format中的数据。我如何通过 variables 而不是 Date 获得 data.frame arrange?这意味着首先我应该为所有 dates 获取 Variable A 的数据,然后是 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")

也许我不明白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

我错过了什么吗?就是这个。

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

base R中,我们可以使用

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