From 28945245f49fafed3d05579166a46530845d2d8a Mon Sep 17 00:00:00 2001 From: Ben Green Date: Tue, 22 Sep 2015 08:28:13 -0400 Subject: script to plot entire lcc --- R Scripts/sim-analysis.R | 121 ++++++++++++++++++++++++----------------------- 1 file changed, 63 insertions(+), 58 deletions(-) (limited to 'R Scripts/sim-analysis.R') diff --git a/R Scripts/sim-analysis.R b/R Scripts/sim-analysis.R index 92c3d26..e56f575 100755 --- a/R Scripts/sim-analysis.R +++ b/R Scripts/sim-analysis.R @@ -1,89 +1,94 @@ library(igraph) setwd("~/Documents/Violence Cascades/") +load('Raw Data/lcc.RData') +library(foreach) +library(doMC) +registerDoMC(cores=4) -load('Results/hyper-lcc.RData') -vic_ids = which(V(hyp_lcc)$vic==1) -n.infections = length(vic_ids) -n.days = max(hyp_lcc_verts$vic.day,na.rm=T) - min(hyp_lcc_verts$vic.day,na.rm=T) -inf.dates = hyp_lcc_verts$vic.day[vic_ids] - -birthyears = as.numeric(format(as.Date(hyp_lcc_verts$dob[vic_ids]),'%Y')) - -# nbrs = neighborhood(graph, nodes=vic_ids, order=1) -load('Results/vic-nbrs.RData') +# gather data +vic_days = as.numeric(unlist(lcc_verts[,16:21])) +idxs = which(!is.na(vic_days)) %% vcount(lcc) +vic_days = vic_days[!is.na(vic_days)] +n.infected = sum(lcc_verts$vic) +birthyears = as.numeric(format(as.Date(lcc_verts$dob[idxs]),'%Y')) # find all pairs of vic neighbors to check -vic.nbrs = matrix(NA,14885,2) +## nbrs = neighborhood(lcc,order=1,nodes=vic_ids); save(nbrs,file='Raw Data/vic-nbrs.RData') +load('Raw Data/vic-nbrs.RData') +vic.nbrs = matrix(NA,9568,2) idx = 1 -for (i in 1:n.infections){ +for (i in 1:n.infected){ u = vic_ids[i] - nbhd = nbrs[[i]] + nbhd = as.numeric(nbrs[[i]]) nbhd = intersect(vic_ids,nbhd) nbhd = nbhd[u1) sim.dates[year_ids] = sample(inf.dates[year_ids]) + if (length(year_ids)>1) sim.dates[year_ids] = sample(vic_days[year_ids]) } -# vics = vic_ids; sim.dates = inf.dates # data +# sim.dates = vic_days # data - vic.time = abs(sim.dates[vic.nbrs[,1]] - sim.dates[vic.nbrs[,2]]) - - n.vicpairs[q] = length(vic.time) - mean.time[q] = mean(vic.time) - med.time[q] = median(vic.time) - mean.30[q] = mean(vic.time<=30) - mean.50[q] = mean(vic.time<=50) - # decay.rate[sim,q] = getDecayRate(vic.time) #get lm of histogram. or maybe just cor? + vic.dt = rep(0,dim(vic.nbrs)[1]) + for(i in 1:dim(vic.nbrs)[1]){ + mindt = 5000 + tus = sim.dates[which(vic.nbrs[i,1]==idxs)] + tvs = sim.dates[which(vic.nbrs[i,2]==idxs)] + for(tu in tus){ + for(tv in tvs){ + dt = abs(tu-tv) + if(dt