Generates an incidence matrix from an adjacency matrix
Generates an incidence matrix from an adjacency matrix
incidence.from.adjacency generates an incidence matrix from an adjacency matrix or network using a given generative model
incidence.from.adjacency( G, k =1, p =1, blau.param = c(2,1,10), maximal =TRUE, model ="team", class =NULL, narrative =TRUE)
Arguments
G: A symmetric, binary adjacency matrix of class matrix or Matrix, or an undirected, unweighted unipartite graph of class igraph.
k: integer: Number of artifacts to generate
p: numeric: Tuning parameter for artifacts, 0 <= p <= 1
blau.param: vector: Vector of parameters that control blau space in the organizations model (see details)
maximal: boolean: Should teams/clubs models be seeded with maximal cliques?
model: string: Generative model, one of c("team", "club", "org") (see details)
class: string: Return object as matrix, Matrix, or igraph. If NULL, object is returned in the same class as G.
narrative: boolean: TRUE if suggested text & citations should be displayed.
Returns
An incidence matrix of class matrix or Matrix, or a bipartite graph of class igraph.
Details
Given a unipartite network composed of i agents (i.e. nodes) that can be represented by an i x i adjacency matrix, incidence.from.adjacency generates a random i x k incidence matrix that indicates whether agent i is associated with artifact k. Generative models differ in how they conceptualize artifacts and how they associate agents with these artifacts.
The Team Model (model == "team") mirrors a team formation process, where each artifact represents a new team formed from the incumbants of a prior team (with probability p) and newcomers (with probability 1-p).
The Club Model (model == "club") mirrors a social club formation process, where each artifact represents a social club. Club members attempt to recruit non-member friends, who join the club if it would have a density of at least p.
The Organizations Model (model == "org") mirrors an organization (the artifact) recruiting members from social space, where those within the organization's niche join with probability p, and those outside the niche join with probability 1-p. blau.param is a vector containing three values that control the characteristics of the blau space. The first value is the space's dimensionality. The second two values are shape parameters of a Beta distribution that describes niche sizes. The default is a two-dimensional blau space, with organization niche sizes that are strongly positively skewed (i.e., many specialist organizations, few generalists).
Examples
G <- igraph::erdos.renyi.game(10,.4)I <- incidence.from.adjacency(G, k =1000, p =.95, model ="team", narrative =TRUE)
References
Neal, Z. P. 2023. The duality of networks and groups: Models to generate two-mode networks from one-mode networks. Network Science.