R 数据帧列表中的时间解析摘要统计信息
我需要计算R中数据帧列表的汇总统计信息。数据帧是一个时间序列,其中日期列的格式为POSIXct。我需要计算数据帧中每个时间戳的最小平均值和最大值。数据帧不一定具有相同的日期时间范围,因此我无法按行索引计算统计数据 下面是我拥有的数据格式的一个最小示例R 数据帧列表中的时间解析摘要统计信息,r,apply,posixct,R,Apply,Posixct,我需要计算R中数据帧列表的汇总统计信息。数据帧是一个时间序列,其中日期列的格式为POSIXct。我需要计算数据帧中每个时间戳的最小平均值和最大值。数据帧不一定具有相同的日期时间范围,因此我无法按行索引计算统计数据 下面是我拥有的数据格式的一个最小示例 date0 <- as.POSIXct("2020-01-01 00:00") mylist <- list(df1 = data.frame(date = seq.POSIXt(from=date0,
date0 <- as.POSIXct("2020-01-01 00:00")
mylist <- list(df1 = data.frame(date = seq.POSIXt(from=date0,
by = "1 hour",
length.out = 24),
y = rep(1,24)),
df2 = data.frame(date = seq.POSIXt(from=date0,
by = "1 hour",
length.out = 48),
y = rep(0,48))
)
date0您可以使用dplyr进行如下操作
library(dplyr)
# Creating data
date0 <- as.POSIXct("2020-01-01 00:00")
mylist <- list(
df1 =
data.frame(date = seq.POSIXt(from=date0, by = "1 hour", length.out = 24), y = rep(1,24)),
df2 = data.frame(date = seq.POSIXt(from=date0, by = "1 hour", length.out = 48), y = rep(0,48))
)
# Calculation
result <-
mylist %>%
# Convert list of dataframes into single dataframe
bind_rows() %>%
# Grouping by timestamp
group_by(date) %>%
# Calculating summary statistics
summarise(min_y = min(y),
max_y = max(y),
mean_y = mean(y))
result
# date min_y max_y mean_y
# <dttm> <dbl> <dbl> <dbl>
# 2020-01-01 00:00:00 0 1 0.5
# 2020-01-01 01:00:00 0 1 0.5
# 2020-01-01 02:00:00 0 1 0.5
# 2020-01-01 03:00:00 0 1 0.5
# 2020-01-01 04:00:00 0 1 0.5
# 2020-01-01 05:00:00 0 1 0.5
# 2020-01-01 06:00:00 0 1 0.5
# 2020-01-01 07:00:00 0 1 0.5
# 2020-01-01 08:00:00 0 1 0.5
# 2020-01-01 09:00:00 0 1 0.5
库(dplyr)
#创建数据
日期0%
#计算汇总统计数据
总结(最小值y=最小值y),
max_y=max(y),
平均值(y=平均值(y))
结果
#日期最小值和最大值平均值
#
# 2020-01-01 00:00:00 0 1 0.5
# 2020-01-01 01:00:00 0 1 0.5
# 2020-01-01 02:00:00 0 1 0.5
# 2020-01-01 03:00:00 0 1 0.5
# 2020-01-01 04:00:00 0 1 0.5
# 2020-01-01 05:00:00 0 1 0.5
# 2020-01-01 06:00:00 0 1 0.5
# 2020-01-01 07:00:00 0 1 0.5
# 2020-01-01 08:00:00 0 1 0.5
# 2020-01-01 09:00:00 0 1 0.5
您所说的跨数据帧的每个时间戳的最小平均值和最大值是什么意思。
?您能显示前几行的预期输出吗?看起来您希望按天而不是按“时间戳”进行汇总。如果是这种情况,您可以使用dplyr中的as.date()
,然后使用类似于groupby()和summary()的内容格式化日期列