如何在R中为不同的日历(365天)创建日期序列?

时间:2017-01-31 07:22:40

标签: r netcdf

我有.nc数据文件,其中包含单个列中完整时段的每日温度数据。时间变量具有365天日历(无闰年)。我想计算每月/每年的平均值/最大值/最小值。如何使用as.date进行365天的压缩?

d<- seq(as.Date("2071-01-01"), as.Date("2099-12-31"),1)

上面的代码创建了序列,但它也包含了闰年。

2 个答案:

答案 0 :(得分:1)

我不确定这是否是最好的方式。我会从序列中删除所有二月二十九日。

d <- d[!grepl(x = d, pattern = "-02-29$")]

答案 1 :(得分:1)

不确定是否要删除所有闰年或仅删除feb 29s

x<-seq(as.Date("2011-01-01"),as.Date("2016-03-01"),by="day")
is.leapyear=function(year) return(((year %% 4 == 0) & (year %% 100 != 0)) | (year %% 400 == 0))
#remove all dates in leap years
x[!is.leapyear(as.integer(format(x, "%Y")))]

#remove all feb 29s
x[format(x,"%m-%d") != "02-29"]