The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
cluster_cosine() to cluster nodes and not census
features (thanks @Kaladani).onAttach() making
library(netrics) faster to attachactions/actions/checkout path segmentparam_cutoffparam_decayparam_timesparam_variantparam_standardizedparam_connectivityNEWS.md family headings{migraph}make_*_measure() to record algorithm details
so results can be read without the script/manual
measure actually calculated,
e.g. node_by_degree() is “strength centrality” on a
weighted networknormalization, one of "normalized",
"scaled", "proportional" or
"none"range, the theoretical range of the returned
valuesvariant computed where a measure offers a choice,
e.g. net_by_reciprocity() reports “ratio” when asked{manynet}, which
defaults to previous behaviormeasure, range,
normalization, and variant reporting to every
measure where applicablenode_by_betweenness(cutoff = k) is distance-bounded or
range-limited betweennessnode_by_reach(cutoff = k) is geodesic k-path
centralitynode_by_closeness() as the Sabidussi indexnode_by_degree() on a weighted network as strength or
weighted degree centralitynode_by_alpha() as Katz statusnode_by_hub() and node_by_authority() as
the two halves of Kleinberg’s HITSnode_by_transitivity() as the local clustering
coefficienttie_by_betweenness() as edge betweennessnode_by_subgraph() as a node’s contribution to the
Estrada indexnode_by_induced() and node_by_vitality()
as delta centralitynode_by_information() as the closeness member of the
current-flow familynode_by_induced() also calling itself “vitality
centrality”scale argument to scaled; old
spelling still works but warnsdecay
alpha in node_by_alpha(),
beta in regularity_rolesim()
alpha now only refers to Opsahl et al.’s trade-off
between degree and strength in node_by_degree()decay argument to
node_by_harmonic(), and node_by_decay() as a
shortcut for decay centralitydecay to node_by_pagerank(),
exposing the damping factor previously fixed at 0.85decay to node_by_subgraph(),
weighting closed walks by length, which Estrada calls
tscale doesnode_by_degree() to default to
alpha = 0 to match documentationmode_by_betweenness() to accept only
"all" and "in", as implementednode_by_reach() counting the node itself so
normalised scores could exceed 1node_by_eigenvector() discarding tie weights it
had computedtie_by_betweenness() and
node_by_randomwalk() accepting normalized and
then ignoring itnode_by_betweenness() accepting
normalized and then ignoring it when given a
cutoffnode_by_vitality() treats cut nodes
-Inf for cut nodes as the Wiener
index definition requires[0,1] and places
cut nodes at 0net_by_efficiency() to implement Krackhardt’s
share of excess ties
net_x_hierarchy() now compares four quantities already
on [0,1]net_by_immunity() returning a negative herd
immunity threshold when net_by_density(),
net_by_equivalency() and node_by_reciprocity()
summing tie weightsnode_by_closeness() to validate
direction via match.arg()direction from
net_by_betweenness() which never used itnode_by_posneg() to the eigenvector doc
groupnode_by_subgraph()
walks= to choose which closed walks to count:
"odd", "even" or "all"node_by_eigenvector() to cite Bonacich
(1972), not only (1991)node_by_degree() and the
centralisation functionsnet_by_bipartivity() for how close a network is
to being bipartitenet_by_cyclicality() for detecting generalised
exchangenet_by_compactness() for the average closeness of
all pairs of nodesnode_by_integration() and
net_by_integration() for Valente and Foreman’s integration
and radialitynode_by_radiality() as a shortcut for
node_by_integration(direction = "out")net_by_inconsistency() for how far a partition’s
blocks depart from ideal types
nul, com,
reg, rdo, cdo and
dncnet_by_factions() beyond structural
equivalencenode_by_equivalency() erroring on any network,
despite being documented for the two-mode casenode_by_diversity() reporting undefined objects
when substituting an inapplicable indexnet_by_transmissibility() declaring itself a
proportionnet_by_balance() erroring on networks holding
signs as negative weightsnet_by_diameter(), net_by_length()
and net_by_compactness() on signed networks
node_by_reciprocity() to return 1 throughout for
any undirected networknode_by_information() on rectangular matrices by
using manynet::to_multilevel()net_by_independence() erroring on multilevel
networks by measuring wholenet_by_waves() reporting one wave where waves are
held as timeconnectivity= to net_by_components()
for counting weak as well as strong components
"strong", so existing scripts are
unaffectedvariant when the result is printedk= to community detection functions to target a
specific number of communities (thanks @tomasdiviak)
knode_in_louvain() and node_in_leiden()
search the resolution parameter for the value that returns
knode_in_fluid() passes k straight to the
algorithm, which also makes it much fasternode_in_labels() seeds k fixed labels and
merges any surplus groups by modularitynode_in_partition() is now a k-way Kernighan-Lin, and
no longer returns only two groupsnode_in_community() considers only these algorithms
when k is givenk also accepts "silhouette",
"elbow", and "strict", as in
node_in_equivalence()k= is now positioned second, so positional calls
must name argumentsnode_in_fluid() and
node_in_spinglass() aborting silently on disconnected
networksnode_in_labels() for label propagation community
detectiontimes= in node_in_walktrap() to
steps=consensus= to node_in_community()
for combining partitions of all applicable algorithms
times), then
converges on common groupingsconsensus = FALSE default, and ignored where network
small enough for node_in_optimal()"verbose"node_by_coreness() to
node_by_core()
node_in_core()
centrality= to coreness=
"rich" by default for weighted, directed or two-mode
networks"correlation" otherwisedirection= for directed networks
"Sender" for core out-ties and periphery in-ties"Receiver" for core in-ties and periphery out-tiesnode_in_equivalence() to announce the
cluster_*() and k_*() usednode_in_block() for direct blockmodelling for
partitions that minimise net_by_inconsistency()node_in_regular() to compute regular equivalence
correctly
regularity = "rolesim" (default) and
"rege" for recursive similaritynode_in_regular() will
now return more correct resultsnode_in_motif(),
though neither is Burt’s equivalence or an orbit-aware census (thanks
@Kaladani)Kmax= to max_k= in the community
and equivalence functionsnum_groups= to groups= in
node_in_roulette()cluster_by= to split= in
node_in_core()connectivity= to node_in_component()
for weak as well as strong component membership
"strong", so existing scripts are
unaffectednode_in_weak() and
node_in_strong()net_x_triad()
net_x_mixed()net_x_mixed()node_x_clique(), returning which maximal cliques
each node belongs to
node_x_tie()
node_in_equivalence() and
node_in_structural()type tie attributenode_x_ties(), describing the distribution of
each node’s tie values
node_x_alters() for describing composition of
each node’s altersnode_x_similarity() for describing similarity of
each node to its alters
net_x_homophily() for the table behind the EI
index against expected baselineregularity_rolesim() and
regularity_rege(), recursive role similarity methods
regularity_rege() is degenerate on unweighted
connected networks, where it warnscoreness_correlation() is Borgatti and Everett’s
continuous model, fixed to exclude self-tiescoreness_rich() is Ma and Mondragon’s rich-core for
directed and two-mode networkscoreness_hub() is Elliott and colleagues’ more granualr
directed core-peripherycoreness_transition() is Rombach and colleagues’ core
score over boundary sharpness and core sizesplit_bins(), split_quantiles() and
split_kmeans()
node_in_regular() for
regular equivalence rather than the triad censusConfig/Needs/check packages instead of
Config/Needs/website, which meant {learnr} was
never actually installed before the pkgdown deploy stepequivalency,
partition, faction) in the community tutorial
that had no matching {manynet} glossary entry, which was
breaking the tutorial’s article renderingnode_x_brokerage() and net_x_brokerage()) to
the position tutorialnet_by_degree(), net_by_indegree(),
net_by_outdegree(), net_by_betweenness(),
net_by_closeness(), and net_by_eigenvector()
now return a single network-level score for two-mode networks (via
Freeman’s general centralization index over the mode-normalized node
scores), consistent with returning a scalar network_measure
for all networks
mode_by_*() family
(mode_by_degree(), mode_by_indegree(),
mode_by_outdegree(), mode_by_betweenness(),
mode_by_closeness(), mode_by_eigenvector())
that returns the per-mode centralization scores for two-mode networks,
following Borgatti and Everett (1997); these error on one-mode
networksnet_by_betweenness() to respect its
normalized argument for one-mode networks, which was
previously ignored because igraph::centr_betw() always
applied its default normalizationnet_by_closeness() and
mode_by_closeness() to pass their direction
argument through to the underlying node scores, so
direction = "in"/"all" is now effective for
two-mode networksnetrics1) with a new
interactive style, and added an article version to the website
netrics2) with a new
versionnetrics3) with a new
interactive style
netrics4) with a new
interactive style
node_by_homophily() to work when attribute is
provided as a vector (e.g., a membership vector)node_by_homophily() to avoid calling
as_igraph() multiple timesnet_x_hazard() to use diff_model$t
for naming the returned data frame columns, rather than the deprecated
diff_model$time{manynet}node_in_partition()param_attr,
param_data, param_dir,
param_memb, param_motf,
param_norm, param_select) and
net/node/tie-level templates (net_measure,
net_motif, node_mark,
node_measure, node_member,
node_motif, tie_mark,
tie_measure) for consistent function documentation.node_adoption_time() to
node_by_adopt_time()node_thresholds() to
node_by_adopt_threshold()node_exposure() to
node_by_adopt_exposure()node_recovery() to
node_by_adopt_recovery()node_in_community() documentation from the
hierarchical and non-hierarchical community-detection algorithms.net_by_change() to net_x_change()
and related functions to reflect their motif (subgraph-counting)
nature.method_k().model_k() to method_k() and
related cluster-selection utilities renamed for clarity.{netrics} 0.1.0 is the first formal release of the
package as a standalone analytic engine for the stocnet ecosystem. The analytic
functions — marks, measures, motifs, and memberships — have been
extracted from {manynet} and {migraph} into
this dedicated package, with consistent naming conventions and a range
of bug fixes.
All functions now follow a consistent verb–object–qualifier naming scheme:
node_is_*(),
tie_is_*()): logical vectors identifying which nodes or
ties hold a particular structural property.*_by_*()): numeric vectors
at the network (net_by_*()), node
(node_by_*()), or tie (tie_by_*()) level.*_x_*()): tabular counts of
nodes’ or networks’ participation in structural sub-patterns.*_in_*()): categorical
vectors assigning nodes to groups (components, communities, equivalence
classes, etc.).Functions previously named with other prefixes
(e.g. node_centrality_*, net_cohesion_*,
node_equivalency_*) have been renamed to follow the
*_by_*() / *_x_*() / *_in_*()
convention. tie_by_cohesion() now correctly returns a
tie_measure class object.
{manynet} / {migraph}The following groups of functions have been moved into
{netrics}:
node_is_core(), node_is_cutpoint(),
node_is_exposed(), node_is_fold(),
node_is_independent(), node_is_infected(),
node_is_isolate(), node_is_latent(),
node_is_max(), node_is_mean(),
node_is_mentor(), node_is_min(),
node_is_neighbor(), node_is_pendant(),
node_is_random(), node_is_recovered(),
node_is_universal()tie_is_bridge(), tie_is_cyclical(),
tie_is_feedback(), tie_is_imbalanced(),
tie_is_loop(), tie_is_max(),
tie_is_min(), tie_is_multiple(),
tie_is_path(), tie_is_random(),
tie_is_reciprocated(), tie_is_simmelian(),
tie_is_transitive(), tie_is_triangular(),
tie_is_triplet()net_by_adhesion(),
net_by_assortativity(), net_by_balance(),
net_by_betweenness(), net_by_change(),
net_by_closeness(), net_by_cohesion(),
net_by_components(), net_by_congruency(),
net_by_connectedness(), net_by_core(),
net_by_correlation(), net_by_degree(),
net_by_density(), net_by_diameter(),
net_by_diversity(), net_by_efficiency(),
net_by_eigenvector(), net_by_equivalency(),
net_by_factions(), net_by_harmonic(),
net_by_heterophily(), net_by_hierarchy(),
net_by_homophily(), net_by_immunity(),
net_by_indegree(), net_by_independence(),
net_by_infection_complete(),
net_by_infection_peak(),
net_by_infection_total(), net_by_length(),
net_by_modularity(), net_by_outdegree(),
net_by_reach(), net_by_reciprocity(),
net_by_recovery(), net_by_reproduction(),
net_by_richclub(), net_by_richness(),
net_by_scalefree(), net_by_smallworld(),
net_by_spatial(), net_by_stability(),
net_by_strength(), net_by_toughness(),
net_by_transitivity(),
net_by_transmissibility(),
net_by_upperbound(), net_by_waves()node_by_adoption_time(),
node_by_alpha(), node_by_authority(),
node_by_betweenness(), node_by_bridges(),
node_by_brokering_activity(),
node_by_brokering_exclusivity(),
node_by_closeness(), node_by_constraint(),
node_by_coreness(), node_by_deg(),
node_by_degree(), node_by_distance(),
node_by_diversity(), node_by_eccentricity(),
node_by_efficiency(), node_by_effsize(),
node_by_eigenvector(), node_by_equivalency(),
node_by_exposure(), node_by_flow(),
node_by_harmonic(), node_by_heterophily(),
node_by_hierarchy(), node_by_homophily(),
node_by_hub(), node_by_indegree(),
node_by_induced(), node_by_information(),
node_by_kcoreness(), node_by_leverage(),
node_by_multidegree(),
node_by_neighbours_degree(),
node_by_outdegree(), node_by_pagerank(),
node_by_posneg(), node_by_power(),
node_by_randomwalk(), node_by_reach(),
node_by_reciprocity(), node_by_recovery(),
node_by_redundancy(), node_by_richness(),
node_by_stress(), node_by_subgraph(),
node_by_thresholds(), node_by_transitivity(),
node_by_vitality()tie_by_betweenness(),
tie_by_closeness(), tie_by_cohesion(),
tie_by_degree(), tie_by_eigenvector()net_x_brokerage(), net_x_dyad(),
net_x_hazard(), net_x_mixed(),
net_x_tetrad(), net_x_triad()node_x_brokerage(), node_x_dyad(),
node_x_exposure(), node_x_path(),
node_x_tetrad(), node_x_tie(),
node_x_triad()node_in_adopter(), node_in_automorphic(),
node_in_betweenness(), node_in_brokering(),
node_in_community(), node_in_component(),
node_in_core(), node_in_eigen(),
node_in_equivalence(), node_in_fluid(),
node_in_greedy(), node_in_infomap(),
node_in_leiden(), node_in_louvain(),
node_in_optimal(), node_in_partition(),
node_in_regular(), node_in_roulette(),
node_in_spinglass(), node_in_strong(),
node_in_structural(), node_in_walktrap(),
node_in_weak()node_is_isolate() and node_is_pendant()
now work correctly with signed networks.tie_is_random() now correctly returns a
tie_mark class object (previously returned a node
mark).node_by_authority() and node_by_hub()
updated to use current {igraph} API.node_by_brokering_activity() and
node_by_brokering_exclusivity() now handle unlabelled
networks correctly.node_by_homophily() no longer resolves the attribute to
a vector prematurely.node_by_pagerank() updated to correctly extract the
vector output from {igraph}.node_by_power() reverts to a lower exponent (closer to
degree centrality) when there is no degree variation.node_by_randomwalk() now works with two-mode
networks.net_by_degree(), net_by_harmonic(), and
net_by_reach() now consistently include the function call
in the returned object.net_by_richclub() returns 0 (rather than erroring) when
all nodes have equivalent degree.net_by_smallworld() and node_by_bridges()
now use internal {netrics} functions rather than
{manynet} equivalents.net_by_waves() returns 1 for cross-sectional networks
and correctly returns a network measure class.net_x_hierarchy() correctly classified as a motif
function.node_in_community() now delegates to
{netrics} membership functions internally.tie_by_cohesion() now correctly returns a
tie_measure class object.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.