我有.nc数据文件,其中包含单个列中完整时段的每日温度数据。时间变量具有365天日历(无闰年)。我想计算每月/每年的平均值/最大值/最小值。如何使用as.date进行365天的压缩?
d<- seq(as.Date("2071-01-01"), as.Date("2099-12-31"),1)
上面的代码创建了序列,但它也包含了闰年。
答案 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"]