gpt4 book ai didi

r - R中按月的时间序列聚合

转载 作者:行者123 更新时间:2023-12-04 11:31:16 24 4
gpt4 key购买 nike

在 mydataset 中,日期格式为日。我需要将其汇总为月份格式。
说清楚,这里是 mydataset。

mydat
structure(list(date = structure(c(1L, 1L, 2L, 2L, 2L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L), .Label = c("12.01.2015", "13.01.2015",
"14.01.2015", "15.01.2015"), class = "factor"), Y = c(200L, 50L,
100L, 50L, 200L, 200L, 50L, 200L, 100L, 1000L, 1000L, 50L, 50L,
100L, 200L)), .Names = c("date", "Y"), class = "data.frame", row.names = c(NA,
-15L))

聚合必须是 Y 的总和。
在输出中我希望这种格式
01.2015 3550(2015年1月Y变量的总和)
02.2015 4000(2015年2月Y变量之和)

怎么做?
我试着像这里那样做 Aggregate time series object by month R ,但这对我没有帮助。
怎么改正?

最佳答案

这是使用 aggregate 的基本 R 解决方案:

with(mydat, aggregate(
Y,
list(month_year = format(as.POSIXct(date, format = "%d.%m.%Y"), "%m/%Y")),
sum))
# month_year x
#1 01/2015 3550

说明:提取 month_year组件来自 date和总和 Y来自 month_year使用 aggregate .

样本数据
mydat <- structure(list(date = structure(c(1L, 1L, 2L, 2L, 2L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L), .Label = c("12.01.2015", "13.01.2015",
"14.01.2015", "15.01.2015"), class = "factor"), Y = c(200L, 50L,
100L, 50L, 200L, 200L, 50L, 200L, 100L, 1000L, 1000L, 50L, 50L,
100L, 200L)), .Names = c("date", "Y"), class = "data.frame", row.names = c(NA,
-15L))

关于r - R中按月的时间序列聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49832144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com