我有一个包含 40 个数据帧(元素)的列表“df_list”,在结构下方:
df_list[[1]] = 列表的第一个数据框
id | 日期 |
---|---|
2345 | 2022-12-01 12:52 |
4234 | 2022-12-01 12:52 |
2423 | 2022-12-01 12:53 |
2434 | 2022-12-01 12:53 |
3433 | 2022-12-01 12:53 |
5432 | 2022-12-01 13:54 |
4534 | 2022-12-01 14:55 |
3243 | 2022-12-01 15:55 |
我期望的(新数据框):
频率 | 日期 |
---|---|
2 | 2022-12-01 12:52 |
3 | 2022-12-01 12:53 |
1 | 2022-12-01 13:54 |
2 | 2022-12-01 15:55 |
我想对列表中的每个数据框执行此操作并获取“新”数据框列表。
list <- list()
for (i in length(df_list)) {
list[[i]] <- (count(df_list[[i]], "Date"))
name <- paste("Df", myfiles_1, sep = "_")
result <- assign(name, list)
}
额外信息:日期数据是 POSIXlt 类
给定
my_list
两个数据框,我们可以:
基地R:
lapply(my_list, function(x) count(x, Date, name = "Frequency"))
Tidyverse:
library(purrr)
map(my_list, count, Date, name = "Frequency")
$df1
Date Frequency
1 2022-12-01 12:52 2
2 2022-12-01 12:53 3
3 2022-12-01 13:54 1
4 2022-12-01 14:55 1
5 2022-12-01 15:55 1
$df2
Date Frequency
1 2022-12-01 12:42 2
2 2022-12-01 12:43 3
3 2022-12-01 13:44 1
4 2022-12-01 14:45 1
5 2022-12-01 15:45 1
名单:
my_list <- list(df1 = structure(list(id = c(2345L, 4234L, 2423L, 2434L,
3433L, 5432L, 4534L, 3243L), Date = c("2022-12-01 12:52", "2022-12-01 12:52",
"2022-12-01 12:53", "2022-12-01 12:53", "2022-12-01 12:53", "2022-12-01 13:54",
"2022-12-01 14:55", "2022-12-01 15:55")), class = "data.frame", row.names = c(NA,
-8L)), df2 = structure(list(id = c(2345L, 4234L, 2423L, 2434L,
3433L, 5432L, 4534L, 3243L), Date = c("2022-12-01 12:42", "2022-12-01 12:42",
"2022-12-01 12:43", "2022-12-01 12:43", "2022-12-01 12:43", "2022-12-01 13:44",
"2022-12-01 14:45", "2022-12-01 15:45")), class = "data.frame", row.names = c(NA,
-8L)))