R: Two-mode network conversions

one2two {blockmodeling} | R Documentation

## Two-mode network conversions

### Description

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.

### Usage

    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.

### Value

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.

### Author(s)

Aleš Žiberna

### See Also

`optParC`, `optParC`, `optRandomParC`, `plot.mat`

### Examples

    # 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)

[Package blockmodeling version 1.0.5 Index]