Learn R Programming

ergm.ego (version 1.1.0)

template_network: Construct an Empty ``Template'' Network Consistent with an Egocentric Sample

Description

Taking an object with ego information, constructs a network object with no edges whose vertices have the attributes of the egos in the dataset, replicating the egos as needed, and taking into accounts their sampling weights.

Usage

template_network(x, ...)

# S3 method for data.frame template_network(x, ...)

# S3 method for egor template_network(x, N, scaling = c("round", "sample"), ...)

Value

A network object.

Arguments

x

A egor object.

...

Additional arguments, currently unused.

N

The target number of vertices the output network should have.

scaling

If egor contains weights or N is not a multiple of number of egos in the sample, it may not be possible, for a finite N to represent each ego exactly according to its relative weight, and scaling controls how the fractional egos are allocated:

"round"

(the default) Rather than treating N as a hard setting, calculate \(N w_i / w_\cdot\) for each ego \(i\) and round it to the nearest integer. Then, the N actually used will be the sum of these rounded freqencies.

"sample"

Resample in proportion to \(w_i\).

Methods (by class)

  • template_network(data.frame): method for data.frames and tibbles, specifying ego composition directly.

  • template_network(egor): method for egor objects; weights, if any, are obtained from the egor's design information.

Author

Pavel N. Krivitsky

See Also

as.egor.network, which performs the inverse operation.

Examples

Run this code


data(faux.mesa.high)
summary(faux.mesa.high, print.adj = FALSE)

fmh.ego <- as.egor(faux.mesa.high)

# Same actor attributes
fmh.template <- template_network(fmh.ego, N=network.size(faux.mesa.high))
summary(fmh.template, print.adj = FALSE)

# Twice the actors, same distribution
fmh2.template <- template_network(fmh.ego, N=2*network.size(faux.mesa.high))
summary(fmh2.template, print.adj = FALSE)

Run the code above in your browser using DataLab