【问题标题】:How to sort columns of several data frames in a list?如何对列表中多个数据框的列进行排序?
【发布时间】:2021-09-19 19:13:02
【问题描述】:

我在 R 中有一个列表,其中有几个数据帧将时间戳作为一列。我想对所有这些列进行排序。我该怎么做?

【问题讨论】:

标签: r list dataframe time timestamp


【解决方案1】:

使用tidyverse - 使用map(来自purrr)和arrange基于“时间戳”列循环遍历list

library(purrr)
library(dplyr)
lst2 <- map(lst1, ~ .x %>%
                    arrange(timestamp))

【讨论】:

    【解决方案2】:

    在基础 R

    L <- list(data.frame(v1 = 3:1, v2 = 1:3), 
              data.frame(v1 = 6:4, v2 = 4:6))
    # [[1]]
    #   v1 v2
    # 1  3  1
    # 2  2  2
    # 3  1  3
    # 
    # [[2]]
    #   v1 v2
    # 1  6  4
    # 2  5  5
    # 3  4  6
    
    lapply(L, function(x) x[order(x$v1), ])
    # [[1]]
    #   v1 v2
    # 3  1  3
    # 2  2  2
    # 1  3  1
    # 
    # [[2]]
    #   v1 v2
    # 3  4  6
    # 2  5  5
    # 1  6  4
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-18
      • 2010-11-20
      • 2014-02-18
      • 1970-01-01
      • 2019-08-31
      • 1970-01-01
      相关资源
      最近更新 更多