Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Set up the network objects
- friendship.aj <- matrix(c(NA, 0, 1, 1, 1,
- 0, NA, 0, 0, 0,
- 1, 0, NA, 0, 1,
- 1, 1, 0, NA, 1,
- 1, 0, 0, 0, NA),
- nrow = 5, byrow = TRUE)
- friendship.net.dir <- network(friendship.aj)
- friendship.net.undir <- network(friendship.aj, directed = FALSE)
- # Here's the function
- group_centrality <- function(net) {
- # Return a single centrality score for a whole network
- if(!is.network(net))
- {
- stop("Object must be a network")
- }
- d_star <- (max(degree(net, cmode = 'outdegree')))
- print(d_star)
- for(i in 1:network.size(net))
- {
- if(is.directed(net))
- {
- print("Network is directed")
- numerator <- d_star - degree(net, cmode = 'outdegree')[i]
- print(numerator)
- denominator <- (((network.size(net) - 1)^2))
- print(denominator)
- centrality <- sum((d_star - degree(net, cmode = 'outdegree')[i])/
- (((network.size(net) - 1)^2)))
- } else {
- print("Network is undirected")
- numerator <- d_star - degree(net, cmode = 'outdegree')[i]
- print(numerator)
- denominator <- (((network.size(net)) - 1)*(network.size(net) - 2))
- print(denominator)
- centrality <- sum((d_star - degree(net, cmode = 'outdegree')[i])/
- (((network.size(net)) - 1)*(network.size(net) - 2)))
- }
- }
- return(centrality)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement