Spent the entire day bashing out graphs (not a euphemism at all).

I did some pretty intense node analysis, and then some plotting.

This what I used for plotting

## Load NCol as DataFrame
dfg7.2<-data.frame(read.table("/location/of/data/ncol_r7.2.txt",sep=""))
## Convert to user list with stats
colnames(dfg7.2)<-c("x","x")
dfg7.2NL<-rbind(dfg7.2[1],dfg7.2[2])
dfg7.2NL<-as.data.frame(table(dfg7.2NL))
dfg7.2NL<-dfg7.2NL[with(dfg7.2NL,order(-Freq)),]
rownames(dfg7.2NL) <- 1:nrow(dfg7.2NL)
colnames(dfg7.2NL)<-c("user","Freq")
dfg7.2NL$pcp <- dfg7.2NL$Freq/sum(dfg7.2NL$Freq)
dfg7.2NL$cumSum <- cumsum(dfg7.2NL$pcp)
## Place each user into core/middle/periphery
dfg7.2NL$perc <-"NA"
dfg7.2NL$perc[(dfg7.2NL$cumSum)<=0.33] <- 1
dfg7.2NL$perc[(dfg7.2NL$cumSum) > 0.33 & (dfg7.2NL$cumSum) <= 0.66] <- 2
dfg7.2NL$perc[(dfg7.2NL$cumSum) > 0.66] <- 3
## Place Core/Middle/Periphery user names into sets
set1<-c(t(subset(dfg7.2NL, perc == 1, select = user)))
set2<-c(t(subset(dfg7.2NL, perc == 2, select = user)))
set3<-c(t(subset(dfg7.2NL, perc == 3, select = user)))
## Create graph from original Data Frame
g7.2<-graph.data.frame(dfg7.2,directed=FALSE)
## Simplify graph
sg7.2<-simplify(g7.2)
## change node color and size according to above sets
V(sg7.2)[set1]$color <- "#2244CC"
V(sg7.2)[set2]$color <- "#3388EE"
V(sg7.2)[set3]$color <- "#55AADD"
V(sg7.2)[set1]$size <- 4
V(sg7.2)[set2]$size <- 3
V(sg7.2)[set3]$size <- 1
V(sg7.2)[set1]$bcol <- "#000088"
V(sg7.2)[set2]$bcol <- "#1166CC"
V(sg7.2)[set3]$bcol <- NA
## Save SVG graph
svg("/location/of/svg/sg7.2.svg")
draw.quick.graph(sg7.2)
dev.off()
## Save graph as table
write.csv(dfg7.2NL,"/location/of/table/dfg7.2NL.txt",row.names=FALSE)
## Quick look to see it's all there
draw.quick.graph(sg7.2)

This is the final result — one of the smaller graphs.

Just as a final note. I freaking LOVE MacVim.

### Like this:

Like Loading...

*Related*