## Warning: package 'igraph' was built under R version 3.6.1
graphNode <- graph(c(1,2,2,3,3,4,4,1),directed = FALSE,n=7)
graphNodes <- graph(c("Amy","Ram","Ram","Li","Li","Amy","Amy","Li","kate","Li"))
plot(graphNode,vertex.color="orange",vertex.size=40,edge.color="purple")
plot(graphNodes,vertex.color="green",vertex.size=40,edge.color="red",main="Twitter Example")
graphNode[]
## 7 x 7 sparse Matrix of class "dgCMatrix"
##
## [1,] . 1 . 1 . . .
## [2,] 1 . 1 . . . .
## [3,] . 1 . 1 . . .
## [4,] 1 . 1 . . . .
## [5,] . . . . . . .
## [6,] . . . . . . .
## [7,] . . . . . . .
degree(graphNodes,mode = "all")
## Amy Ram Li kate
## 3 2 4 1
degree(graphNodes,mode = "in")
## Amy Ram Li kate
## 1 1 3 0
degree(graphNodes,mode = "out")
## Amy Ram Li kate
## 2 1 1 1
diameter(graphNodes,directed = FALSE,weights = NA)
## [1] 2
edge_density(graphNodes,loops = FALSE)
## [1] 0.4166667
ecount(graphNodes)/(vcount(graphNodes)*(vcount(graphNodes)-1))
## [1] 0.4166667
closeness(graphNodes,mode = "all",weights = NA)
## Amy Ram Li kate
## 0.2500000 0.2500000 0.3333333 0.2000000
betweenness(graphNodes,directed = TRUE,weights = NA)
## Amy Ram Li kate
## 2 0 3 0
edge.betweenness(graphNodes,directed = TRUE,weights = NA)
## [1] 3 2 5 1 3
This data contain
data <- read.csv("networkdata.csv",header = TRUE)
socialData <- data.frame(data$first,data$second)
head(socialData)
## data.first data.second
## 1 AA DD
## 2 AB DD
## 3 AF BA
## 4 DD DA
## 5 CD EC
## 6 DD CE
net <- graph.data.frame(socialData,directed = TRUE)
V(net)
## + 52/52 vertices, named, from e156d45:
## [1] AA AB AF DD CD BA CB CC BC ED AE CA EB BF BB AC DC BD DB CF DF BE EA
## [24] CE EE EF FF FD GB GC GD AD KA KF LC DA EC FA FB DE FC FE GA GE KB KC
## [47] KD KE LB LA LD LE
E(net)
## + 290/290 edges from e156d45 (vertex names):
## [1] AA->DD AB->DD AF->BA DD->DA CD->EC DD->CE CD->FA CD->CC BA->AF CB->CA
## [11] CC->CA CD->CA BC->CA DD->DA ED->AD AE->AC AB->BA CD->EC CA->CC EB->CC
## [21] BF->CE BB->CD AC->AE CC->FB DC->BB BD->CF DB->DA DD->DA DB->DD BC->AF
## [31] CF->DE DF->BF CB->CA BE->CA EA->CA CB->CA CB->CA CC->CA CD->CA BC->CA
## [41] BF->CA CE->CA AC->AD BD->BE AE->DF CB->DF AC->DF AA->DD AA->DD AA->DD
## [51] CD->DD AA->DD EE->DD CD->DD DB->AA AA->FC BE->CC EF->FD CF->FE BB->DD
## [61] CD->DD BA->AB CD->EC BE->EE CE->CC CD->CC ED->CC BB->CC BE->CE DD->CE
## [71] AC->CD ED->CD FF->CD AC->CD DD->CD DD->CD AE->GA AE->GA AE->GA AE->GA
## [81] BA->ED BE->ED EB->ED CD->ED FD->EF FD->EF CD->BB BF->BB BC->BB BB->CF
## [91] AE->AC DD->DA BE->CA BE->CA CB->CA CB->CA CC->CA BE->CC BE->CC DB->DD
## + ... omitted several edges
V(net)$label <- V(net)$name
V(net)$degree <- degree(net)
hist(V(net)$degree,col="orange",main = "Histogram Of Node Degree",ylab = "Frequency",xlab = "Degree Of Vertices")
plot(net,vertex.color="orange",vertext.size=2,edge.arrow.size=0.1,vertex.label.cex=0.8)
plot(net,vertex.color=rainbow(52),
vertext.size=V(net)$degree*0.4,
edge.arrow.size=0.1,
layout=layout.fruchterman.reingold)
plot(net,vertex.color=rainbow(52),
vertext.size=V(net)$degree*0.4,
edge.arrow.size=0.1,
layout=layout.graphopt)
plot(net,vertex.color=rainbow(52),
vertext.size=V(net)$degree*0.4,
edge.arrow.size=0.1,
layout=layout.kamada.kawai)
net <- graph.data.frame(socialData,directed = FALSE)
cnet <- cluster_edge_betweenness(net)
plot(cnet,net,vertex.size=10,vertex.label.cex=0.8)