R 将月度列值聚合为季度值

R 将月度列值聚合为季度值,r,aggregate,R,Aggregate,大家好,我是R的新手,非常感谢你们的帮助。从2004年到2013年,我每个月都有以下数据(称为“抑郁汇总”): 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 20

大家好,我是R的新手,非常感谢你们的帮助。从2004年到2013年,我每个月都有以下数据(称为“抑郁汇总”):

    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
是输入数据。frame使用
“yearmon”
索引将其转换为zoo对象
z
,然后将其聚合为
“yearqtr”

2)这也适用于:

library(zoo)

yq <- as.yearqtr(as.yearmon(paste(DF$Year, DF$Month), "%Y %m"))
ta <- tapply(DF$DepressionCount, yq, sum)
图书馆(动物园)

yq感谢您如此多地尝试了选项2,并且成功了!我可以看到这些值,但如何在图形中的两个不同列(时间在左边,值在右边)中使用这些值创建新的数据帧?再次感谢你
plot(ag)
其中
ag
来自第一种方法或
plot(ta~as.yearqtr(names(ta)),type=“o”)
其中
ta
来自第二种方法。对不起,误解了,我的意思不是在图表中,而是让两列彼此相邻,就像我在原始问题中介绍的那样。非常感谢。
> ag
2004 Q1 2004 Q2 2004 Q3 2004 Q4 
    875     820     785     608 
library(zoo)

yq <- as.yearqtr(as.yearmon(paste(DF$Year, DF$Month), "%Y %m"))
ta <- tapply(DF$DepressionCount, yq, sum)