首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将每月列值汇总为季度值

将每月列值汇总为季度值
EN

Stack Overflow用户
提问于 2015-03-05 19:20:03
回答 1查看 1.9K关注 0票数 1

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

代码语言:javascript
运行
复制
    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年Q1、2004年Q2等)的汇总值。我尝试过使用函数聚合,但没有成功。希望你能帮我!问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-05 20:21:52

1) (如果DF是输入data.frame,则将其转换为带有"yearmon"索引的动物园对象z,然后将其聚合到"yearqtr"

代码语言:javascript
运行
复制
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)

给予:

代码语言:javascript
运行
复制
> ag
2004 Q1 2004 Q2 2004 Q3 2004 Q4 
    875     820     785     608 

2) --这也适用于:

代码语言:javascript
运行
复制
library(zoo)

yq <- as.yearqtr(as.yearmon(paste(DF$Year, DF$Month), "%Y %m"))
ta <- tapply(DF$DepressionCount, yq, sum)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28885939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档