, @Henrik:
library(lubridate)
library(data.table)
setDT(Df)
Df[,month:=month(days)]
Df[,year:=year(days)]
naDf <- Df[mday(days)>14,]
subDf <- Df[mday(days)<=14,]
avgDf <- subDf[
,
list(occurrence=mean(occurrence)),
by="month,year"]
naDf <- base::merge(
x=naDf[,list(days,hours,month,year)],
y=avgDf,
by=c("month","year"))
newDf <- rbind(
subDf,naDf,
use.names=TRUE)[order(days,hours),]
:
, , .
d0 <- as.Date("2000-01-01")
set.seed(123)
Df <- data.frame(
days=rep(d0+0:364,each=24),
hours=rep(1:24,365),
occurrence=sample(1:15,24*365,replace=TRUE))
, :
Df[mday(days)>14,
occurrence:=NA]
Df[,datetime:=as.POSIXct(
days,tz="GMT")+3600*(4+hours)]
newDf[,datetime:=as.POSIXct(
days,tz="GMT")+3600*(4+hours)]
library(ggplot2)
ggplot(
data=newDf[200:800,],
aes(x=datetime,y=occurrence))+
geom_line(color="red")
ggplot(
data=Df[200:800,],
aes(x=datetime,y=occurrence))+
geom_line()


(200: 800), .