Converting two mode networks from two to one mode matrix representation and vice versa. If a two-mode matrix is converted into a one-mode matrix, the original two-mode matrix lies in the upper right corner of the one-mode matrix.
UTF-8
one2two(M, clu =NULL)two2one(M, clu =NULL)
Arguments
M: A matrix representing the (usually valued) network.
clu: A partition. Each unique value represents one cluster. This should be a list of two vectors, one for each mode.
Returns
Function returns list with the elements: a two mode matrix of a the two mode network in its upper left corner. - M: The matrix.
clu: The partition, in form appropriate for the mode of the matrix.
Examples
# Generating a simple network corresponding to the simple Sum of squares# Structural equivalence with blockmodel:# null com# null nulln <- c(7,13)net <- matrix(NA, nrow = n[1], ncol = n[2])clu <- list(rep(1:2, times = c(3,4)), rep(1:2, times = c(5,8)))tclu <- lapply(clu, table)net[clu[[1]]==1, clu[[2]]==1]<- rnorm(n = tclu[[1]][1]* tclu[[2]][1], mean =0, sd =1)net[clu[[1]]==1, clu[[2]]==2]<- rnorm(n = tclu[[1]][1]* tclu[[2]][2], mean =4, sd =1)net[clu[[1]]==2, clu[[2]]==1]<- rnorm(n = tclu[[1]][2]* tclu[[2]][1], mean =4, sd =1)net[clu[[1]]==2, clu[[2]]==2]<- rnorm(n = tclu[[1]][2]* tclu[[2]][2], mean =0, sd =1)plot.mat(net, clu = clu)# Two mode matrix of a two mode network# Converting to one mode networkM1 <- two2one(net)$M
plot.mat(M1, clu = two2one(net)$clu)# Plotting one mode matrix# Converting one to two mode matrix and plottingplot.mat(one2two(M1, clu = clu)$M, clu = clu)