【问题标题】:Arrange data by variables of a data.frame in R?通过R中data.frame的变量排列数据?
【发布时间】:2021-01-01 09:07:51
【问题描述】:

我写下了以下脚本来获取longer format 中的数据。我怎样才能通过variables 而不是Date 获得data.frame arrange?这意味着首先我应该获取所有datesVariable 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")

【问题讨论】:

    标签: r dataframe sorting tidyverse lubridate


    【解决方案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】:

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

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

      【讨论】:

        【解决方案3】:

        base R,我们可以使用

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

        【讨论】:

          猜你喜欢
          • 2011-06-30
          • 1970-01-01
          • 2015-08-26
          • 1970-01-01
          • 2013-09-25
          • 2014-05-12
          • 2017-01-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多