将月度列值聚合为季度值
Aggregating monthly column values into quarterly values
大家好,我是 R 的新手,非常感谢您的帮助。从 2004 年到 2013 年,我每个月都有以下数据(称为 "depressionaggregate"):
Month Year DepressionCount
1 01 2004 285
2 02 2004 323
3 03 2004 267
4 04 2004 276
5 05 2004 312
6 06 2004 232
7 07 2004 228
8 08 2004 280
9 09 2004 277
10 10 2004 335
11 11 2004 273
我正在尝试创建一个新列,其中包含每个季度(即 2004 年第一季度、2004 年第二季度等)每年的汇总值。我试过使用聚合函数,但没有成功。希望你能帮我!此致
1) 如果 DF
是输入 data.frame 将其转换为具有 "yearmon"
索引的动物园对象 z
然后将其聚合到 "yearqtr"
:
library(zoo)
toYearmon <- function(y, m) as.yearmon(paste(y, m, sep = "-"))
z <- read.zoo(DF, index = 2:1, FUN = toYearmon)
ag <- aggregate(z, as.yearqtr, sum)
给予:
> ag
2004 Q1 2004 Q2 2004 Q3 2004 Q4
875 820 785 608
2) 这也行得通:
library(zoo)
yq <- as.yearqtr(as.yearmon(paste(DF$Year, DF$Month), "%Y %m"))
ta <- tapply(DF$DepressionCount, yq, sum)
大家好,我是 R 的新手,非常感谢您的帮助。从 2004 年到 2013 年,我每个月都有以下数据(称为 "depressionaggregate"):
Month Year DepressionCount
1 01 2004 285
2 02 2004 323
3 03 2004 267
4 04 2004 276
5 05 2004 312
6 06 2004 232
7 07 2004 228
8 08 2004 280
9 09 2004 277
10 10 2004 335
11 11 2004 273
我正在尝试创建一个新列,其中包含每个季度(即 2004 年第一季度、2004 年第二季度等)每年的汇总值。我试过使用聚合函数,但没有成功。希望你能帮我!此致
1) 如果 DF
是输入 data.frame 将其转换为具有 "yearmon"
索引的动物园对象 z
然后将其聚合到 "yearqtr"
:
library(zoo)
toYearmon <- function(y, m) as.yearmon(paste(y, m, sep = "-"))
z <- read.zoo(DF, index = 2:1, FUN = toYearmon)
ag <- aggregate(z, as.yearqtr, sum)
给予:
> ag
2004 Q1 2004 Q2 2004 Q3 2004 Q4
875 820 785 608
2) 这也行得通:
library(zoo)
yq <- as.yearqtr(as.yearmon(paste(DF$Year, DF$Month), "%Y %m"))
ta <- tapply(DF$DepressionCount, yq, sum)