Предполагая, что у нас есть эти данные (у нас есть только список "Acc"):
rdate <- function(x,min = paste0(format(Sys.Date(), '%Y'), '-01-01'),
max = paste0(format(Sys.Date(), '%Y'), '-12-31'),
sort = TRUE)
{dates <- sample(seq(as.Date(min), as.Date(max), by = "day"), x, replace = TRUE)
if (sort == TRUE) {sort(dates)}
else {dates}}
X <- data.frame(A = rnorm(10000, sd = 0.8),
B = sample( LETTERS[1:24], 10000, replace=TRUE),
C = rdate(10000))
Acc <- split(X,X$C,drop = TRUE)
Итак, у нас есть список, разделенный на один фрейм данных на дату. Нам нужен два списка, один с кадрами данных до 06.01 (дата здесь не имеет значения), а другой с кадрами данных с 06.01 по 31.12.
Есть ли простой способ сделать это с помощью R?





Определите точку отсечения (x) и подмножество своего списка (Acc)
x <- as.Date("2018-06-01")
# data frames before 06/01
Acc1 <- Acc[names(Acc) < x] # Acc1 has 151 data frames
# data frames from 06/01 to 12/31
Acc2 <- Acc[names(Acc) >= x] # Acc2 has 214 data frames