diff options
| -rwxr-xr-x | R Scripts/generate-dag-dat.R | 19 | ||||
| -rw-r--r-- | R Scripts/min_inf_time.R | 15 | ||||
| -rw-r--r-- | experiments/build_network.py | 10 |
3 files changed, 24 insertions, 20 deletions
diff --git a/R Scripts/generate-dag-dat.R b/R Scripts/generate-dag-dat.R index 660a503..b5f2c3a 100755 --- a/R Scripts/generate-dag-dat.R +++ b/R Scripts/generate-dag-dat.R @@ -35,25 +35,12 @@ print(proc.time()-ptm) #3.5 hours colnames(dag_dat_all) = c('from','to','t1','t2','dist','w1','w2','w3') rownames(dag_dat_all) = NULL +dag_dat_all$spawn1 = hyp_lcc_verts$spawn.date[dag_dat_all$from] +dag_dat_all$spawn2 = hyp_lcc_verts$spawn.date[dag_dat_all$to] + save(dag_dat_all, file='Results/dag_dat_all.RData') write.csv(dag_dat_all, file='Results/dag_dat_all.csv') dag_dat_vics = dag_dat_all[!is.na(dag_dat_all$t2),] save(dag_dat_vics, file='Results/dag_dat_vics.RData') write.csv(dag_dat_vics, file='Results/dag_dat_vics.csv') - -# analyze min possible infection time -i = 1 -min_time = 0#rep(Inf,length(unique(dag_dat_vics$to))) -min_time_dist = 0#rep(Inf,length(unique(dag_dat_vics$to))) -for(to in unique(dag_dat_vics$to)){ - rows = which(dag_dat_vics$to==to & dag_dat_vics$dist<2) - if(length(rows)>0){ - min_time[i] = min(dag_dat_vics$t2[rows]-dag_dat_vics$t1[rows]) - min_time_dist[i] = dag_dat_vics$dist[rows[which.min(dag_dat_vics$t2[rows]-dag_dat_vics$t1[rows])]] - i = i + 1 - } -} -median(min_time) -mean(min_time<100) -save(min_time_1,min_time_2,min_time_3,file='Results/min_inf_time.RData') diff --git a/R Scripts/min_inf_time.R b/R Scripts/min_inf_time.R new file mode 100644 index 0000000..914af61 --- /dev/null +++ b/R Scripts/min_inf_time.R @@ -0,0 +1,15 @@ +# analyze min possible infection time +i = 1 +min_time = 0#rep(Inf,length(unique(dag_dat_vics$to))) +min_time_dist = 0#rep(Inf,length(unique(dag_dat_vics$to))) +for(to in unique(dag_dat_vics$to)){ + rows = which(dag_dat_vics$to==to & dag_dat_vics$dist<2) + if(length(rows)>0){ + min_time[i] = min(dag_dat_vics$t2[rows]-dag_dat_vics$t1[rows]) + min_time_dist[i] = dag_dat_vics$dist[rows[which.min(dag_dat_vics$t2[rows]-dag_dat_vics$t1[rows])]] + i = i + 1 + } +} +median(min_time) +mean(min_time<100) +save(min_time_1,min_time_2,min_time_3,file='Results/min_inf_time.RData') diff --git a/experiments/build_network.py b/experiments/build_network.py index 8eb17ec..23b958f 100644 --- a/experiments/build_network.py +++ b/experiments/build_network.py @@ -11,6 +11,7 @@ def build_network(filename): with open(filename) as fh: reader = DictReader(fh) for row in reader: + print age from_, to = int(float(row["from"])), int(float(row["to"])) dist = int(row["dist"]) if int(float(row["dist"])) > 2: @@ -20,28 +21,29 @@ def build_network(filename): dt = int(row["t2"]) - int(row["t1"]) parent = (dist, dt) if to not in victims: - age += int(row["t2"]) + age += int(row["t2"]) - int(row["spawn2"]) victims[to] = [] victims[to].append(parent) if from_ not in victims: - age += int(row["t1"]) + age += int(row["t1"]) - int(row["spawn1"]) victims[from_] = [] # 'to' is not a victim else: dt = 3012 - int(row["t1"]) parent = (dist, dt) if to not in non_victims: - age += 3012 + age += 3012 - int(row["spawn2"]) non_victims[to] = [] non_victims[to].append(parent) if from_ not in victims: - age += int(row["t1"]) + age += int(row["t1"]) - int(row["spawn1"]) victims[from_] = [] root_victims = {} for victim in victims.keys(): if not victims[victim]: del victims[victim] root_victims[victim] = [] + print age return root_victims, victims, non_victims, age |
