R: Computation of function values by blocks

funByBlocks.default {blockmodeling} | R Documentation

## Computation of function values by blocks

### Description

Computes a value of a function over blocks of a matrix, defined by a partition.

### Usage

    ## Default S3 method:
    funByBlocks(
      x = M,
      clu,
      M = x,
      ignore.diag = "default",
      sortNames = TRUE,
      FUN = "mean",
      ...
    )

    ## S3 method for class 'optMorePar'
    funByBlocks(x, which = 1, orderClu = FALSE, sortNames = NULL, ...)

    ## S3 method for class 'opt.more.par'
    funByBlocks(x, which = 1, orderClu = FALSE, sortNames = NULL, ...)

    funByBlocks(x, ...)

    fun.by.blocks(x, ...)

### Arguments

`x` | An object of suitable class or a matrix representing the (usually valued) network. For now, only one-relational networks are supported. The network can have one or more modes (different kinds of units with no ties among themselves. If the network is not two-mode, the matrix must be square.
`clu` | A partition. Each unique value represents one cluster. If the network is one-mode, then this should be a vector, else a list of vectors, one for each mode.
`M` | A matrix representing the (usually valued) network. For now, only one-relational networks are supported. The network can have one or more modes (different kinds of units with no ties among themselves. If the network is not two-mode, the matrix must be square.
`ignore.diag` | Should the diagonal be ignored.
`sortNames` | Should the rows and columns of the matrix be sorted based on their names.
`FUN` | The function to be computed over the blocks.
`...` | Further arguments to `funByBlocks.default`.
`which` | Which (if several) of the "best" solutions should be used.
`orderClu` | Should the partition be ordered before computing. `FALSE` by default. If `TRUE`, `orderClu` is used (using default arguments) to order the clusters in a partition in "decearsing" (see `orderClu` for interpretation) order. If `TRUE`, `sortNames` is set to `FALSE`.

### Value

A numerical matrix of `FUN` values by blocks, induced by a partition `clu`.

### Author(s)

Aleš Žiberna

### References

Žiberna, A. (2007). Generalized Blockmodeling of Valued Networks. Social Networks, 29(1), 105-126. doi: 10.1016/j.socnet.2006.04.002

Žiberna, A. (2008). Direct and indirect approaches to blockmodeling of valued networks in terms of regular equivalence. Journal of Mathematical Sociology, 32(1), 57-84. doi: 10.1080/00222500701790207

### See Also

`optRandomParC`, `optParC`

### Examples

    n <- 8 # If larger, the number of partitions increases dramatically,
    # as does if we increase the number of clusters
    net <- matrix(NA, ncol = n, nrow = n)
    clu <- rep(1:2, times = c(3, 5))
    tclu <- table(clu)
    net[clu == 1, clu == 1] <- rnorm(n = tclu[1] * tclu[1], mean = 0, sd = 1)
    net[clu == 1, clu == 2] <- rnorm(n = tclu[1] * tclu[2], mean = 4, sd = 1)
    net[clu == 2, clu == 1] <- rnorm(n = tclu[2] * tclu[1], mean = 0, sd = 1)
    net[clu == 2, clu == 2] <- rnorm(n = tclu[2] * tclu[2], mean = 0, sd = 1)
    # Optimizing 10 random partitions with optRandomParC
    res <- optRandomParC(M = net, k = 2, rep = 10, approaches = "hom", homFun = "ss", blocks = "com")
    plot(res) # Hopefully we get the original partition
    funByBlocks(res)
    # Computing mean by blocks, ignoring the diagonal (default)

[Package blockmodeling version 1.0.5 Index]