These fixes change numbers that earlier versions reported.
summary() density excludes dyads with missing values from the
denominator, matching sna::gden(). Networks without missing dyads are
unaffected.diag_to_NA = TRUE), matching the igraph import
path. Pass diag_to_NA = FALSE to keep self-loop cells in density and
summary_actor() prop_ties.to_netify() sets the diagonal of imported statnet network objects that
do not allow loops to NA, matching the igraph import. Density for these
networks now agrees with sna::gden(), and netify to statnet to netify
round trips keep their density.netify(..., output_format = "longit_array") respects actor_pds and
actor_time_uniform = FALSE. Actors outside their active periods are NA
in those periods.actor_pds with gapped numeric time no longer creates empty
periods for every integer in the range.actor_pds (and get_actor_time_info(net)) uses time labels in
the class of the time variable rather than integer positions.mixing_matrix() counts each undirected tie once, so total_ties is
halved for symmetric networks and raw between-group cells hold half a tie
in each mirrored cell. Proportions, assortativity, and modularity are
unchanged.compare_networks() counts each undirected edge once in edge_changes.
For networks with different actors, correlation, Jaccard, Hamming, QAP,
and spectral distance are computed on the shared actors, with a message
saying how many actors were left out.bootstrap_netlet() resamples longitudinal netlets by actor name, so the
same actors are drawn in every period. Pairs formed by two copies of the
same actor are NA rather than 0, removing a downward bias in density.subset(from =, to =) on unipartite networks returns a square matrix over
the union of the selected actors, with ties outside the from x to block
set to NA.netify() warns when symmetric = TRUE and a dyad appears in both
directions within a period with different weights. The value from the last
row is still used; use sum_dyads = TRUE, aggregate_dyad(..., symmetric = TRUE), or symmetric = FALSE to resolve it.nodal_vars is documented as describing actor1, and netify() reports
actors that only appear as actor2, since they receive NA.subset() / subset_netify() on longitudinal networks clips actor period
bounds to the retained periods. Subsetting to several periods without both
endpoints previously made plot(x, time_filter = ...),
decompose_netify(), and add_node_vars() fail with "Actor period bounds
are not in the netlet time labels."subset() returns requested periods in netlet order without duplicates.subset() down to a single period keys dyadic data as cross-sectional, so
dyad_correlation(), attribute_report(), add_dyad_vars(),
mutate_weights(), and pivot_dyad_to_network() find existing dyadic
variables.subset() of a multilayer longitudinal array to one period returns a
cross-sectional [actor, actor, layer] array.subset() on a bipartite network gives a clear error when the selected
actors come from only one mode.ego_netify() subsets actor_pds, nodal, and dyadic attributes to the ego
network's actors and periods, and keeps the period name when only one
period remains.mutate_weights() with only add_constant changes longitudinal arrays,
updates weight attributes on every period of a longitudinal list, renames
the layer of single-layer networks with new_name, and works on multilayer
networks. binarize() also works on multilayer networks.nodal_vars, dyad_vars, add_node_vars(), and add_dyad_vars() work
with POSIXct time.plot() draws each tie once in undirected networks.plot() works for bipartite networks where an actor appears in both modes
(for example mexico). summary_actor() returns plain actor names for
these networks with an actor_mode column.plot(..., static_actor_positions = TRUE) works for longitudinal bipartite
networks.layout = "sugiyama" works in plot() and get_node_layout().point_layout accepts a single data.frame reused across periods.plot_homophily(type = "distribution") works for longitudinal networks.label_size_by, label_color_by, label_fill_by, and label_alpha_by no
longer trigger an "Unknown parameter" warning.node_filter in longitudinal plots removes edges only in the periods where
an endpoint is filtered out.time_filter accepts numeric time labels such as time_filter = 2012 when
they are not valid indices, and lists the available periods when nothing
matches.homophily(), mixing_matrix(), attribute_report(), and
dyad_correlation() work on multilayer longitudinal netlets stored as
lists.homophily(method = "hamming") and method = "jaccard" accept character,
factor, and logical attributes.dyad_correlation() aligns dyadic covariates to network actors by name.compare_networks(by = ...) works for what = "structure", "nodes", and
"attributes", and gives a clear error for edge comparisons.netify_to_statnet() accepts factor and Date nodal attributes.netify_to_amen(lame = TRUE) and to_lame(lame = TRUE) order Xrow and
Xcol rows to match each period's actors.to_lame()$ame_call snippet runs with current lame, and
from_lame_fit() returns a longitudinal netify for longitudinal
lame::lame() fits.animate_netify() example runs only when gganimate is installed.peek() example uses actor names that exist in icews.plot.netify(), compare_networks(), and
netify_to_statnet() examples so they run quickly on CRAN Windows checks.unnetify() and plot() for bipartite networks so ties in
same-position row and column entries are kept. These entries are valid
cross-mode ties, not diagonal self-ties.classroom_edges, classroom_nodes) and a
matching short-form vignette (quickstart_inference) for quick onboarding.?netify_workflows, covering
unipartite, bipartite, longitudinal, and multilayer setups, plus
handoff to statnet, amen, lame, dbn, and igraph.to_lame() now bundles posterior round-tripping via from_lame_fit(),
including bootstrap and per-cell credible-interval bounds for binary
bipartite fits.bind_netifies() gains align_actors = c("none", "union", "intersection") for combining cross-sections with mismatched actor
sets.drop_na_actors(), binarize(), validate_netify(),
bootstrap_netlet(), compare_to_null(), simulate.netify(), plus
type predicates (is_binary(), is_bipartite(), is_longitudinal(),
is_multilayer(), n_actors(), n_periods(), n_layers()) and
accessors (nodal_data()).as_tibble.netify(), tidy.netify(),
glance.netify(), plus as.igraph.netify() and as.network.netify()
S3 methods registered automatically when the relevant package is
attached.style = "heatmap" for adjacency-matrix views,
auto-diverging palettes for signed weights, smarter label-repel for
small networks, and two extra themes (theme_publication_netify(),
theme_publication_netify_ts()).summary_actor() gains a stats = "fast" mode (skips the expensive
centralities) and auto-promotes for networks above
getOption("netify.fast_threshold", 1500).pipeline_netify_ergm,
pipeline_lame_dbn, multilayer_networks, tracking_changes,
attribute_analysis, manual_plotting, and internals are all new
or substantially rewritten.