我在 R 中有一个列表,其中有几个数据帧以时间戳作为一列。我想对所有这些列进行排序。我该怎么做?
答案 0 :(得分:1)
在基础 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
答案 1 :(得分:1)
使用 tidyverse
- 使用 list
(来自 map
)和 purrr
基于“时间戳”列的行循环遍历 arrange
library(purrr)
library(dplyr)
lst2 <- map(lst1, ~ .x %>%
arrange(timestamp))