diff options
| author | Ben Green <bgreen@g.harvard.edu> | 2015-06-08 15:21:51 -0400 |
|---|---|---|
| committer | Ben Green <bgreen@g.harvard.edu> | 2015-06-08 15:21:51 -0400 |
| commit | 1739e9f5706bb8a73de5dbf0b467de49ea040898 (patch) | |
| tree | 6f1d0f166986c5f0757be9b40d8eeb3409ab022c /R Scripts/analyze-cascades.R | |
| parent | e5dada202c34521618bf82a086093c342841e5e8 (diff) | |
| download | criminal_cascades-1739e9f5706bb8a73de5dbf0b467de49ea040898.tar.gz | |
added my R scripts
Diffstat (limited to 'R Scripts/analyze-cascades.R')
| -rwxr-xr-x | R Scripts/analyze-cascades.R | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/R Scripts/analyze-cascades.R b/R Scripts/analyze-cascades.R new file mode 100755 index 0000000..463de18 --- /dev/null +++ b/R Scripts/analyze-cascades.R @@ -0,0 +1,58 @@ +# library(igraph) +# setwd("~/Documents/Cascade Project/") +# +# load('Results/dag_dat_all.RData') +# load('Results/weight-12-1-14.RData') +# load('Results/hyper-lcc.RData') + +# dag = graph.edgelist(as.matrix(dag_dat[,1:2])) +# dag = set.edge.attribute(dag,'weight',value=weight) +# dag_dat = dag_dat[which(E(dag)$weight>=0.4),] +# dag = delete.edges(dag, which(E(dag)$weight<0.4)) + +table(clusters(dag)$csize) + +clusters = clusters(dag) +membership = clusters$membership +csize = clusters$csize +order = rev(order(csize)) + +#use table not hist +plot(sizes,counts,log='xy',type='o',lwd=3, + xlab='Size of Cascade', ylab='Number of Cascades', main='Distribution of Cascade Sizes') + +i = 14 +V = which(clusters(dag)$membership==order[i]) # get all nodes in cluster +cc = induced.subgraph(dag,V) +Vi = vic_ids[V] +Ei = intersect(which(dag_dat_vics$from[realized] %in% Vi),which(dag_dat_vics$to[realized] %in% Vi)) +cc_dat = (dag_dat_vics[realized,])[Ei,] + +### plot cascade ### +cols = rep('lightblue',vcount(cc)) +seed = which(degree(cc,mode='in')==0) +cols[seed] = 'red' +plot(cc,vertex.size=10,edge.arrow.size=0.5,vertex.color=cols,vertex.label.cex=1, + edge.width=E(cc)$weight*20/max(E(cc)$weight),layout=layout.reingold.tilford(cc,root=seed), + vertex.label=V(hyp_lcc)$vic.day[Vi]) +# vertex.label=as.Date(V(hyp_lcc)$vic.day[Vi], format ='%m/%d/%y')) +# vertex.label=V(lcc)$vic_date[Vi]) + +### basic graph statistics +trl = mean(transitivity(cc,type='local',isolates='zero')) +apl = average.path.length(cc) +indeg = degree(cc,mode='in') +outdeg = degree(cc,mode='out') +ds = mean(cc_dat$dist) + +### node demographic statistics +from = vic_ids[cc_dat$from] +to = vic_ids[cc_dat$to] +V(lcc)$sex[from] == V(lcc)$sex[to] +V(lcc)$sex[Vi] +V(lcc)$race[Vi] +as.numeric(V(lcc)$age[Vi]) +V(lcc)$gang.member[Vi] +V(lcc)$gang.name[Vi] +V(lcc)$faction.name[Vi] + |
