library(igraph) setwd("~/Documents/Violence Cascades/") # load data load('Raw Data/lcc.RData') vic_days = as.numeric(unlist(lcc_verts[,16:21])) vic_days = vic_days[!is.na(vic_days)] hist(as.numeric(vic_days,2000,col='lightblue', xlab='Day of Study Period',main='Infections During the Study Period') # get infection counts per day days = 1:3012 t = table(factor(hyp_lcc_verts$vic.day[vic_ids],levels=days)) counts = as.vector(t) infs = data.frame(days,counts) # define background function fit = function(x, lambda, A, phi) {lambda + A*(sin((2*pi/365.24)*x+phi))} fit_form = counts ~ lambda + A*(sin((2*pi/365.24)*days+phi)) # explore data plot(days,counts) curve(fit(x, lambda=3, A=2, phi=4), add=TRUE ,lwd=4, col="steelblue") res = nls(formula=fit_form, data=infs, start=list(lambda=3, A=2, phi=4)) co = coef(res); co plot(t) plot(days,counts,pch=20,cex=0.9,col='#1f78b4', xlab='Day',ylab='Number of Infections') curve(fit(x, lambda=co["lambda"], A=co["A"], phi=co["phi"]), add=TRUE ,lwd=5, col="#1b9e77")