one2two {blockmodeling} | R Documentation |
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.
one2two(M, clu = NULL)
two2one(M, clu = NULL)
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. |
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. |
Aleš Žiberna
optParC
, optParC
, optRandomParC
, plot.mat
# Generating a simple network corresponding to the simple Sum of squares
# Structural equivalence with blockmodel:
# null com
# null null
n <- 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 network
M1 <- two2one(net)$M
plot.mat(M1, clu = two2one(net)$clu) # Plotting one mode matrix
# Converting one to two mode matrix and plotting
plot.mat(one2two(M1, clu = clu)$M, clu = clu)