Learn R Programming

signnet (version 0.6.0)

signed_blockmodel_general: Generalized blockmodelling for signed networks

Description

Finds blocks of nodes with specified inter/intra group ties

Usage

signed_blockmodel_general(g, blockmat, alpha = 0.5)

Arguments

g

igraph object. Must have a "sign" edge attribute.

blockmat

Integer Matrix. Specifies the inter/intra group patterns of ties

alpha

see details

Value

numeric vector of block assignments and the associated criterion value

Details

The function minimizes P(C)=\(\alpha\)N+(1-\(\alpha\))P, where N is the total number of negative ties within plus-sets and P be the total number of positive ties between plus-sets. This function implementes the generalized model. For the structural balance version see signed_blockmodel.

References

Doreian, Patrick and Andrej Mrvar (2009). Partitioning signed social networks. Social Networks 31(1) 1-11

Examples

Run this code
# NOT RUN {
library(igraph)
# create a signed network with three groups and different inter/intra group ties
g1 <- g2 <- g3 <- graph.full(5)

V(g1)$name <- as.character(1:5)
V(g2)$name <- as.character(6:10)
V(g3)$name <- as.character(11:15)

g <- Reduce("%u%",list(g1,g2,g3))
E(g)$sign <- 1
E(g)$sign[1:10] <- -1
g <- add.edges(g,c(rbind(1:5,6:10)),attr = list(sign=-1))
g <- add.edges(g,c(rbind(1:5,11:15)),attr = list(sign=-1))
g <- add.edges(g,c(rbind(11:15,6:10)),attr = list(sign=1))

# specify the link patterns between groups
blockmat <- matrix(c(1,-1,-1,-1,1,1,-1,1,-1),3,3,byrow = TRUE)
res <- signed_blockmodel_general(g,blockmat,0.5)
res$membership
res$criterion
# }

Run the code above in your browser using DataLab