net_correlation()
for calculating the product-moment correlation between networksto_simplex.data.frame()
and to_simplex.network()
is_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 origins
summary.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 object{concaveman}
{ggdendro}
thisRequires()
bug by testing for interactivityto_ego()
and to_egos()
to specify directiongraphr()
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()
ison_dolphins
ison_books
ison_blogs
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 objects
to_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 print
ison_southern_women
with grand infoison_laterals
with reordered nodes{cli}
suppressPackageStartupMessages()
stop()
replaced by cli::cli_abort()
{minMSE}
dependency{roxygen2}
dependency to Config/Needs/build{grDevices}
and {png}
dependencies{network}
reexportsrun_tute()
and extract_tute()
to look for installed packages and report progressread_cran()
for creating networks of package dependencies on CRAN
{manynet}
)generate_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 printing
make_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 packages
{manynet}
and {migraph}
are included by default,
and if any are not installed they are just ignoredtable_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()
graphs()
recognises ego networks so it is compatible with other splitsgraphr()
graphr()
graphr()
functiongraphs()
automatically uses "star" layout to plot ego networksgraphr()
, graphs()
, and grapht()
also accept British spellingsgraphs()
and grapht()
to_subgraphs()
no longer sampled{manynet}
logo with stocnet GitHub address and color blind safe colorway{minMse}
dependencynetwork_*
prefix to net_*
for conciseness{migraph}
{migraph}
create_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 use
to_correlation()
that implements pairwise correlation on networkarrange_ties()
for {dplyr}
-like reordering of ties based on some attributeto_correlation()
for calculating the Pearson correlation
as_diff_model()
where events were out of order and namedis_multiplex()
now recognises "date", "begin", and "end" as reserved{migraph}
node_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 network{migraph}
node_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 categorical
make_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
{migraph}
,
these include 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 lines{migraph}
cluster_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-15
to_scope()
for CRAN resubmission2024-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 aesthetics{ggplot2}
to_reciprocated.matrix()
to consistently work with matrices2023-12-24
run_tute()
2023-12-24
pkg_data()
to report an overview of data contained within the package(s){ggplot2}
releaseplay_diffusion()
and play_diffusions()
from {migraph}
print()
, summary()
, and plot()
methodsplay_learning()
and play_segregation()
from {migraph}
print()
, summary()
, and plot()
methodscreate_tree()
where it was not returning a two-mode network correctlyas_diffusion()
to coerce a table of diffusion events into diff_model class
as_*()
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
as_tidygraph.diff_model()
no longer creates names for unlabelled networksto_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()
for
autographs()
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öningenison_physicians
data that includes four, multiplex networks with adoption data2023-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()
layoutison_starwars
data, thanks to coding by Yichen Shen and Tiphaine Aeby2023-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-02
2023-11-01
as_igraph()
in accordance with upcoming updates to {igraph}
package (closing #27)to_mentoring
functionautographr()
related to edge_size
and edge_color
autographr()
autographr()
autographr()
ison_friends
, a one-mode network on character connections of a popular TV series2023-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 layoutsison_starwars
, a collection of seven weighted interaction networks on a popular film franchiseison_networkers
names are now in title case, not all caps2023-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()
node_group
and updated documentation2023-10-11
{graphlayouts}
, {ggforce}
, and {multiplex}
to Suggestedto_galois()
for transforming networks into partially ordered Galois latticesautographr()
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 appropriateison_algebra
now an anonymised network (again)2023-09-17
2023-09-17
{migraph}
earlierison_lawfirm
data from Lazega, see documentation for more details2023-08-11
2023-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 {migraph}
is_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-20
{migraph}
{migraph}
2023-06-09
na_to_mean.data.frame()
network_dims.network()
2023-06-07
{migraph}
package, adding the Make, Manipulate, and Map functions to this package.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()
layout_tbl_graph_concentric()