est_within {bigergm} | R Documentation |
Estimate a within-block network model.
Description
Function to estimate the within-block model. Both pseudo-maximum likelihood and monte carlo approximate maximum likelihood estimators are implemented.
Usage
est_within(
formula,
network,
seed = NULL,
method = "MPLE",
add_intercepts = TRUE,
clustering_with_features = FALSE,
return_network = FALSE,
...
)
Arguments
formula |
An R |
network |
a network object with one vertex attribute called 'block' representing which node belongs to which block |
seed |
seed value (integer) for the random number generator |
method |
If "MPLE" (the default), then the maximum pseudolikelihood estimator is returned. If "MLE", then an approximate maximum likelihood estimator is returned. |
add_intercepts |
Boolean value to indicate whether adequate intercepts should be added to the provided formula so that the model in the first stage of the estimation is a nested model of the estimated model in the second stage of the estimation |
clustering_with_features |
Boolean value to indicate if the clustering
was carried out making use of the covariates or not (only important if |
return_network |
Boolean value to indicate if the network object should be returned in the output.
This is needed if the user wants to use, e.g., the |
... |
Additional arguments, to be passed to the |
Value
'ergm' object of the estimated model.
References
Morris M, Handcock MS, Hunter DR (2008). Specification of Exponential-Family Random Graph Models: Terms and Computational Aspects. Journal of Statistical Software, 24.
Examples
adj <- c(
c(0, 1, 0, 0, 1, 0),
c(1, 0, 1, 0, 0, 1),
c(0, 1, 0, 1, 1, 0),
c(0, 0, 1, 0, 1, 1),
c(1, 0, 1, 1, 0, 1),
c(0, 1, 0, 1, 1, 0)
)
adj <- matrix(data = adj, nrow = 6, ncol = 6)
rownames(adj) <- as.character(1001:1006)
colnames(adj) <- as.character(1001:1006)
# Use non-consecutive block names
block <- c(70, 70, 70, 70, 95, 95)
g <- network::network(adj, matrix.type = "adjacency", directed = FALSE)
g %v% "block" <- block
g %v% "vertex.names" <- 1:length(g %v% "vertex.names")
est <- est_within(
formula = g ~ edges,
network = g,
parallel = FALSE,
verbose = 0,
initial_estimate = NULL,
seed = NULL,
method = "MPLE",
add_intercepts = FALSE,
clustering_with_features = FALSE
)