首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中的as.yearqtr从12月而不是1月开始

R中的as.yearqtr从12月而不是1月开始
EN

Stack Overflow用户
提问于 2015-10-22 18:02:48
回答 2查看 231关注 0票数 2

我有一个光栅时间序列作为一个动物园。我能够收集季度数据,但我希望从12月到2月、3月至5月、6月至8月和9月到Novermber。请问我怎样才能做到这一点?正常的R码是:

代码语言:javascript
复制
library(raster)
library(zoo)
C <- raster(nrows=30, ncols=30)
C[] <- 1:ncell(C)
O <- raster(nrows=30, ncols=30)
O[] <- 1:ncell(O)
CO1 <- stack(C,C,C,C,O,O,O)
m <- seq(as.Date('2009-12-15'), as.Date('2010-06-15'), 'month')
CO2 <- setZ(CO1,m)
CN <- zApply(CO2, by=as.yearqtr, fun=mean)

这将产生12月、1月至3月和4月至6月的季度平均数。我想要的是十二月至二月,三月到五月,六月。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-22 21:07:07

尝试:

代码语言:javascript
复制
zApply(CO2, by=round(unclass(getZ(CO2)) * 12 + 1) %/%3, fun=mean)
票数 3
EN

Stack Overflow用户

发布于 2015-10-22 19:58:50

您可以使用stackApply,这在概念上类似于tapply。不像zApply那么漂亮,因为设置所需的索引可能会更费劲。

代码语言:javascript
复制
stackApply(CO2, c(1,1,1,2,2,2,3), fun=mean) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33287640

复制
相关文章

相似问题

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