NEWS.md
net_correlation()
for calculating the product-moment correlation between networksis_aperiodic()
where it would not work in tutorial chunksover_membership()
for obtaining summary statistics by a membership vectorcreate_ego()
, create_empty()
, create_filled()
, create_ring()
, create_star()
, create_lattice()
)as_matrix()
handles signed networksas_nodelist()
for extracting nodelists from networks into tibblesto_cosine()
to_galois()
until it can be refactoredto_signed()
for adding signs to networksto_weighted()
for adding weights to networksgraphr()
where line types were inferred incorrectlygraphr()
so that layouts can now be snap
ped to a grid, mileage may varynode_is_pendant()
for identifying pendant nodesnode_is_neighbor()
for identifying adjacent nodestie_is_imbalanced()
for identifying ties in imbalanced configurationssummary.network_measure()
to return z-scores and p-values for measuresnode_vitality()
for measuring closeness vitality centralitynode_eigenvector()
node_in_community()
which runs through most salient community detection algorithms to find and return the one with the highest modularitynode_in_regular()
to inform user which census is being usednode_by_quad()
to node_by_tetrad()
to be more consistent with Greek originssummary.network_motif()
which returns the z-scores for the motif scores based on random or configurational networks, traces progressplot.network_motif()
where motif names were not identified correctly, internal make_network_motif now inherits call informationcluster_cosine()
for another equivalence optionrun_tute()
fuzzy matched so that insertions are not as costlygloss()
, clear_glossary()
, and print_glossary()
for adding glossaries to tutorialsirps_wwi
, a dynamic, signed networkison_blogs
to irps_blogs
, added infoison_books
to irps_books
, added infoison_usstates
to irps_usgeo
, added infoison_friends
to fict_friends
, added info and fixed directed issueison_greys
to fict_greys
, added infoison_lotr
to fict_lotr
, added infoison_thrones
to fict_thrones
, added info and some additional nodal attributesison_potter
to fict_potter
, added info and combined waves into single objectgraphr()
where user not informed about concaveman dependencygraphr()
examplesto_dominating()
for extracting the dominating tree of a given networkgraphr()
to make function more concise and consistent (thanks @henriquesposito)node_eccentricity()
to allow normalisation, appear in closeness documentationnode_stress()
as a new betweenness-like centrality measurenode_leverage()
as a new degree-like centrality measureread_*()
now print the command used to the console if the (default) file.choose() is usedread_gml()
node_power()
options(manynet_verbosity ="quiet")
create_ego()
for collecting ego networks through interviews, including arguments for:create_motifs()
for creating networks that correspond to the isomorphic subgraphs of certain size and formatprint.mnet()
add_info()
for adding grand info to tidygraph objectsto_unweighted()
so that it passes through unweighted networks correctlyset_manynet_theme()
to set theme (re #60), but not yet fully implementedis_multiplex()
to ignore “name” tie attributesnode_authority()
and node_hub()
centrality measuresnode_equivalency()
for calculating four-cycle closure by nodenet_equivalency()
to one-mode networksnode_in_equivalence()
to use census directlycreate_motifs()
node_by_dyad()
for node level dyad censusnet_by_quad()
for network level quad censusnode_by_quad()
to avoid oaqc dependency (#89), more flexible but slowerprint.node_motif()
to convert to tibble and add modes and names where available only upon printsuppressPackageStartupMessages()
stop()
replaced by cli::cli_abort()
{grDevices}
and png dependenciesrun_tute()
and extract_tute()
to look for installed packages and report progressread_cran()
for creating networks of package dependencies on CRANgenerate_man()
for generating dyad census conditional uniform graphsgenerate_islands()
only takes a single integer and not a vectoras_tidygraph()
to add an additional class ‘mnet’ that is used for prettier printingmake_mnet()
(internally) for future-proofingprint.tbl_graph()
renamed to print.mnet()
print.mnet()
uses ‘grand’ data if availablebind_ties()
to be more flexible about the input it accepts, converting all input into the required edgelistto_ego()
for obtaining a single neighbourhooddelete_nodes()
and delete_ties()
add_ties()
and delete_ties()
in documentationto_unnamed.igraph()
when used with already unlabelled networkstie_is_path()
for tracing the ties on a particular pathtie_is_triplet()
for returning all the ties that are members of transitive tripletstie_is_forbidden()
for identifying ties in forbidden triadstie_is_transitive()
efficiency, now only retrieves the edgelist onceis_aperiodic()
to remove minMSE dependency and offer a progress bar if it takes longer than 2 secondstie_is_triangular()
to do with altpath namingnode_distance()
for measuring the distance from or to particular nodesnode_degree()
processed isolates in calculating strength in weighted networksison_
data with new as_tidygraph()
ison_adolescents
as a testison_thrones
on kinship arcs between Game of Thrones characters, with ‘grand’ dataison_monastery_
data into ison_monks
, a single multiplex, signed, weighted, longitudinal networkcreate_degree()
for creating networks of a given degree sequence, including k-regular graphsgenerate_citations()
for citation modelsgenerate_fire()
for forest-fire modelsgenerate_islands()
for island modelscreate_explicit()
now has its own documentationtie_is_triangular()
for identifying ties in trianglestie_is_cyclical()
for identifying ties in cyclestie_is_transitive()
for identifying ties involved in transitive closuretie_is_simmelian()
for identifying Simmelian tiesgenerate_permutation()
renamed to to_permuted()
graphr()
plots edges in directed networkstable_data()
can now report on data from multiple packagestable_data()
can now filter by any reported formats, such as ‘directed’ or ‘twomode’as_matrix.igraph()
now only draws from the “weight” attribute and not, e.g. “type”to_blocks()
related to categorical membership variablesmutate_ties()
node_names()
now returns names of the form “N01” etc for unlabelled networksplot.matrix()
works for unlabelled networksgraphr()
graphr()
graphr()
functiongraphs()
automatically uses “star” layout to plot ego networksgraphr()
, graphs()
, and grapht()
also accept British spellingsto_subgraphs()
no longer sampled{minMse}
dependencynetwork_*
prefix to net_*
for concisenesscreate_core()
where the membership inferred when passing an existing network was incorrectgenerate_configuration()
for generating configuration models (including for two-mode networks)play_diffusion()
now includes an explicit contact argument to control the basis of exposurenode_is_*()
functions now infer network data contextnode_is_independent()
for identifying nodes among largest independent setsis_multiplex()
now excludes reserved tie attribute names other than type, such as “weight”, “sign”, or “wave”is_attributed()
to check for non-name nodal attributesnode_is_latent()
, node_is_recovered()
, and node_is_infected()
(closes #71)is_twomode()
, is_labelled()
, and is_complex()
graphr()
, graphs()
, and grapht()
(autographr()
, autographs()
, and autographd()
are now deprecated)scale_size(range = c(...,...))
to be usedscale_size()
from ggplot2
graphr()
now rescales node size depending on network size (closes #51)to_named()
now randomly generates and adds an alphabetic sequence of names, where previously this was just a random sample, which may assist pedagogical useto_correlation()
that implements pairwise correlation on networkarrange_ties()
for dplyr-like reordering of ties based on some attributeto_correlation()
for calculating the Pearson correlationas_diff_model()
where events were out of order and namedis_multiplex()
now recognises “date”, “begin”, and “end” as reservednode_degree()
, node_deg()
, node_indegree()
, node_outdegree()
, node_multidegree()
, node_posneg()
, tie_degree()
, net_degree()
, net_indegree()
, and net_outdegree()
node_betweenness()
, node_induced()
, node_flow()
, tie_betweenness()
, and net_betweenness()
node_closeness()
, node_reach()
, node_harmonic()
, node_information()
, tie_closeness()
, net_closeness()
, net_reach()
, and net_harmonic()
node_eigenvector()
, node_power()
, node_alpha()
, node_pagerank()
, tie_eigenvector()
, and net_eigenvector()
net_reciprocity()
, node_reciprocity()
, net_transitivity()
, node_transitivity()
, net_equivalency()
, and net_congruency()
net_density()
, net_components()
, net_cohesion()
,net_adhesion()
, net_diameter()
, net_length()
, and net_independence()
net_transmissibility()
, net_recovery()
, net_reproduction()
, net_immunity()
, net_hazard()
, net_infection_complete()
, net_infection_total()
, net_infection_peak()
, node_adoption_time()
, node_thresholds()
, node_recovery()
, and node_exposure()
net_richness()
, node_richness()
, net_diversity()
, node_diversity()
, net_heterophily()
, node_heterophily()
, net_assortativity()
, and net_spatial()
net_reciprocity()
, net_connectedness()
, net_efficiency()
, and net_upperbound()
node_bridges()
, node_redundancy()
, node_effsize()
,node_efficiency()
, node_constraint()
, node_hierarchy()
, node_eccentricity()
, node_neighbours_degree()
, and tie_cohesion()
net_core()
, net_richclub()
, net_factions()
, node_partition()
, net_modularity()
, net_smallworld()
, net_scalefree()
, net_balance()
, net_change()
, and net_stability()
node_mode()
(deprecated) to node_is_mode()
since it returns a logical vectornode_attribute()
and tie_attribute()
to return measures when the output is numericnode_exposure()
to work with two-mode and signed networksnode_constraint()
to work with weighted two-mode networks, thanks to Toshitaka Izumi for spotting thismutate()
without specifying .data
net_independence()
for calculating the number of nodes in the largest independent setnode_coreness()
now returns ‘node_measure’ outputnode_exposure()
now sums tie weights where passed a weighted networknode_in_roulette()
(previously node_roulette()
)node_in_optimal()
, node_in_partition()
(previously node_kernaghinlin()
), node_in_infomap()
, node_in_spinglass()
, node_in_fluid()
, node_in_louvain()
, node_in_leiden()
, node_in_betweenness()
, node_in_greedy()
, node_in_eigen()
, and node_in_walktrap()
node_in_component()
, node_in_weak()
, and node_in_strong()
(NB: node_in_component()
is no longer phrased in the plural)node_is_core()
and node_coreness()
node_in_adopter()
node_in_equivalence()
, node_in_structural()
, node_in_regular()
, and node_in_automorphic()
node_*()
, but including the preposition _in_
is more consistent.node_member
class is now categoricalmake_node_member()
now converts numeric results to LETTER character resultsprint.node_member()
now works with categorical membership vectorsprint.node_member()
now declares how many groups before reporting the vectorsmutate()
without specifying .data
node_by_tie()
, node_by_triad()
, node_by_quad()
, node_by_path()
, net_by_dyad()
, net_by_triad()
, net_by_mixed()
, node_by_brokerage()
, net_by_brokerage()
*_*_census()
, but the preposition _by_
is more consistent.node_tie_census()
now works on longitudinal network dataprint.node_motif()
wasn’t printing the requested number of linescluster_hierarchical()
and cluster_concor()
k_strict()
, k_elbow()
, and k_silhouette()
cluster_concor()
cluster_concor()
now uses to_correlation()
for initial correlationstats::cor()
for subsequent iterationscluster_concor()
handles unlabelled networkscluster_concor()
handles two-mode networkscluster_concor()
cutoff resulted in unsplit groupscluster_hierarchical()
now also uses to_correlation()
ison_greys
dataset, including some corrections to that published in {networkdata}
ison_friends
dataset to be explicitly longitudinalison_usstates
dataset with population data (Alaska and Hawaii missing)ison_southern_women
dataset with surnames, titles, event dates, and corrected ties2024-03-13
autographr()
examples that were taking too long to runautographr()
, autographs()
, and autographd()
functionsautographr()
, autographs()
, and autographd()
functionsnode_is_infected()
, node_is_recovery()
, node_is_latent()
work for network lists2024-03-12
play_diffusions()
to revert future plan on exitgenerate_random()
works for two-mode networks with specified number of tiesautographr()
more flexible and efficient in setting variables to aesthetics2023-12-24
run_tute()
2023-12-24
pkg_data()
to report an overview of data contained within the package(s)play_diffusion()
and play_diffusions()
from migraphplay_learning()
and play_segregation()
from migraphcreate_tree()
where it was not returning a two-mode network correctlyas_diffusion()
to coerce a table of diffusion events into diff_model classas_*()
functions are now considered modificationsmutate_nodes()
filter_nodes()
rename_nodes()
bind_ties()
delete_ties()
to_tree()
to find one or more spanning trees amongst a network’s tiesfrom_ties()
to collect multiple networks into a multiplex networkis.igraph()
to is_igraph()
for igraph v2.0.0is_list()
for identifying a list of networksnode_is_core()
, node_is_cutpoint()
, node_is_fold()
, node_is_isolate()
, node_is_mentor()
from migraph
node_is_exposed()
, node_is_infected()
, node_is_latent()
, node_is_recovered()
from migraph
node_is_max()
, node_is_min()
, node_is_random()
from migraph
tie_is_bridge()
, tie_is_loop()
, tie_is_multiple()
, tie_is_reciprocated()
from migraph
tie_is_feedback()
tie_is_max()
, tie_is_min()
from migraph
tie_is_random()
scale_edge_color_centres()
, scale_edge_color_ethz()
, scale_edge_color_iheid()
, scale_edge_color_rug()
, scale_edge_color_sdgs()
autographr()
now provides legends by default where multiple colours are used (closes #52)autographs()
now labels legends correctly for binary variables (closes #38)autographs()
now graphs just the first and last networks in a list (closes #45)autographs()
now includes an option whether the layout should be based on the first, last, or both of two networks (closes #48)ison_konigsberg
to ison_koenigsberg
and named the bridgesison_algebra
now in long multiplex formatison_karateka
now weighted, anonymous members are named by number, and “obc” variable renamed “allegiance”ison_lawfirm
enlarged from 36 to 71 nodes and now consists of three multiplex, directed networksison_southern_women
names are now title caseison_hightech
, a multiplex, directed network from Krackhardt 1987ison_monastery
datasets, three of which are signed and weighted, and the other is longitudinal, from Sampson 1969 (closes #49)ison_potter
datasets in a list of networks, from Bossaert and Meidert 2013 (closes #47)ison_usstates
data on the contiguity of US states, from Meghanathan 20172023-12-17
to_waves.diff_model()
now adds three logical vectors as variables, “Infected”, “Exposed”, and “Recovered”node_is_latent()
, node_is_infected()
, and node_is_recovered()
autographr()
now shapes seed, adopter, and non-adopter nodes using a parallel to migraph’s node_adoption_time()
forautographs()
now colors susceptible, exposed, infected, and recovered nodes correctlyautographd()
now colors susceptible, exposed, infected, and recovered nodes correctly2023-12-15
as_tidygraph()
method for diff_model objectsas_siena()
method for tidygraph objectsto_waves()
now works on diff_model objects, add attributes and namesis_multiplex()
now recognises a tie/edge ‘type’ attribute as evidence of multiplexityigraph::is_bipartite()
is superseded by is_twomode()
tidygraph::activate()
is superseded by mutate_ties()
and similar functionsigraph::as_incidence_matrix()
and igraph::graph_from_incidence_matrix()
with igraph::as_biadjacency_matrix()
and igraph::graph_from_biadjacency_matrix()
autographr()
now plots diff_model objects, showing the diffusion as a heatmap on the verticesautographs()
and autographd()
now utilise network information in diff_model objects to provide better layouts (closed #17)node_size
in autographd()
many_palettes
replaces iheid_palette
theme_ethz()
, scale_color_ethz()
/scale_colour_ethz()
, and scale_fill_ethz()
for ETH Zürichtheme_uzh()
, scale_color_uzh()
/scale_colour_uzh()
, and scale_fill_uzh()
for Uni Zürichtheme_rug()
, scale_color_rug()
/scale_colour_rug()
, and scale_fill_rug()
for Uni Gröningen2023-12-06
run_tute()
read_graphml()
and write_graphml()
for importing and exporting graphml objects, mostly wrappers for igraph functions.autographd()
and autographs()
can now be used for plotting diffusion models.to_waves()
and autographd()
to account for ‘exposed’ nodes in diffusion models.hierarchical
layout so that node name can be specified for centering the layouttheme_heid()
layout2023-11-15
run_tute()
function to “fuzzy” match tutorial names+.ggplot()
method for visualising multiple plots in the same panetheme_iheid
for plotsscale_
family of functions for changing colour scales in plotsautographr()
:autographd()
function2023-11-01
as_igraph()
in accordance with upcoming updates to igraph package (closing #27)autographr()
related to edge_size
and edge_color
autographr()
autographr()
autographr()
2023-10-25
generate
examples leverage autographr()
againto_redirected.tbl_graph()
print.tbl_graph()
no longer mentions the object classlayout_tbl_graph_concentric()
now works with two-mode networks, multiple levels for one-mode networks, and accepts new vectorslayout_tbl_graph_multilevel()
for laying out multilevel networkslayout_tbl_graph_triad()
and layout_tbl_graph_quad()
configurational layouts2023-10-19
run_tute()
helper for quicker access to manynet and migraph tutorialsextract_tute()
for extracting the main code examples from manynet and migraph tutorialspurl = FALSE
to tutorial chunks that are not needed for extraction (thanks @JaelTan)run_tute()
and extract_tute()
2023-10-11
autographr()
autographr()
, closes #11autographr()
autographr()
now automatically bends arcs for reciprocated ties when directed network is not too large/denseautographr()
now accepts unquoted variables as argumentsautographr()
now uses graphlayouts::layout_igraph_multilevel
where appropriate2023-08-11
thisRequiresBio()
helper function to download Bioconductor packagesison_konigsberg
for illustrating Seven Bridges of Konigsbergison_brandes2
and added potential modal type as extra variable to ison_brandes
ison_bb
, ison_bm
, ison_mb
, and ison_mm
into a list of networks called ison_laterals
create_explicit()
for creating networks based on explicit nodes and tiesdelete_nodes()
for deleting specific nodesto_eulerian()
function that returns a Eulerian path network, if available, from a given networkis_
functions from migraphis_connected()
to test if network is strongly connectedis_perfect_matching()
to test if there is a matching for every node in the networkis_eulerian()
to test whether there is a Eulerian path for a networkis_acyclic
to test whether network is a directed acyclic graphis_aperiodic
to test whether network is aperiodiclayout_tbl_graph_alluvial()
that places successive layers horizontallylayout_tbl_graph_concentric()
that places a “hierarchy” layout around a circlelayout_tbl_graph_hierarchy()
that layers the nodes along the top and bottom sequenced to minimise overlaplayout_tbl_graph_ladder()
that aligns nodes across successive layers horizontallylayout_tbl_graph_railway
that aligns nodes across successive layers verticallytheme_iheid()
function that themes graphs with colors based on the Geneva Graduate Institute2023-06-07
.data
print.tbl_graph
method that offers easy to interpret informationread_*()
functions, e.g. read_edgelist()
write_*()
functions, e.g. write_edgelist()
write_matrix()
for exporting to matricescreate_*()
functions, e.g. create_lattice()
create_*()
functions return tbl_graph
class objectsgenerate_*()
functions, e.g. generate_smallworld()
ison_*
network data, e.g. ison_southern_women
as_*()
functions, e.g. as_igraph()
as_edgelist.network()
as_network.data.frame()
as_network.tbl_graph()
join_*()
functions, e.g. join_ties()
add_*()
functions, e.g. add_node_attribute()
create_*()
functions return tbl_graph
class objectsmutate_*()
functions, e.g. mutate_ties()
mutate_ties()
, it is no longer necessary to activate(edges)
rename_*()
functions, e.g. rename_ties()
is_*()
functions, e.g. is_dynamic()
is_labelled()
to work correctly with multiple network formatsto_*()
functions, e.g. to_mode1()
to_giant.network()
to_directed()
now a methodto_subgraphs()
now returns a list of tbl_graph
sto_reciprocated()
now works on edgelists, matrices, tbl_graphs, and networksto_acylic()
now works on matrices, tbl_graphs, and networksfrom_*()
functions, e.g. from_egos()
from_subgraphs()
network_nodes()
network_dims()
is now a methodautographr()
, autographs()
, and autographd()