- Fix a bug in
tbl_graph()when edgetoandfromwhere encoded as factors - Secure compitability with igraph 2.0.0
- Add
resolutionargument togroup_louvrain()to mirror the igraph function as_tbl_graph()on an edge dataframe now only adds a name node attribute if the edges are encoded as a character (#147)- Added
node_is_connected()to test whether a node is connected to a set of nodes (#165) - Deprecated
play_erdos_renyi()in favour ofplay_gnm()andplay_gnp()(#152) - Added the whole family of
slice_*()functions from dplyr (#128) - Added methods for
tidyr::replace_na()andtidyr::drop_na()(#114) - Added
edge_is_bridge()for querying whether an edge is a bridge edge (#113) - Added a
glimpse()method fortbl_graphandmorphed_tbl_graphobjects (#30) - Add
iterate_n()anditerate_while()to perform repeated modifications of a graph for a specific number of times or until a condition no longer is met (#43) - Add
focus()/unfocus()verbs to limit node and edge algorithms to a subset while still keeping the full graph context (#18) - Data frame subclasses with sticky columns (such as those from sf and tsibble) now works with the tbl_graph constructors (#184)
graph_automorphisms()gains acolorargument in line with capabilities in igraphgraph_mean_dist()now supports edge weights through a newweightsargument- Added
to_largest_component()morpher - Added
graph_is_eulerian()andedge_rank_eulerian()for eulerian path calculations - Added
to_random_spanning_tree()morpher - Added
min_orderargument toto_components()morpher - Added
random_walk_rank()to perform random walks on the graph - Added
centrality_harmonic()+ deprecatedcentrality_closeness_harmonic(). The latter is an interface to netrankr while the former is a more efficient and flexible igraph implementation. - Added
group_color()as an interface togreedy_vertex_coloring()in igraph - Added
group_leiden()to interface withcluster_leiden()in igraph - Added
group_fluid()to interface withcluster_fluid_communities()in igraph - Added
edge_is_feedback_arc()to interface withfeedback_arc_set()in igraph - Added
graph_efficiency()andnode_effeciency()interfacing withglobal_efficiency()andlocal_efficiency()in igraph
- Small updates to work with new versions of igraph and dplyr
- Activating a grouped tbl_graph with what is already active will no longer cause grouping to be dropped (#121)
- General upkeep
- Move compiled code to cpp11
- Improve messaging with rlang and cli
- New feature: the following hierarchical clustering functions
group_edge_betweenness,group_fast_greedy,group_leading_eigenandgroup_walktraphave a new argumentn_groupsthat controls the numbers of groups computed. The argument expects an integer value and it isNULLby default.
- graph description now recognise undirected trees
- Added pkgdown site at https://tidygraph.data-imaginist.com
- Prepare tidygraph for dplyr 1.0.0 (#118 and #119)
- Add possibility of controlling which column in
nodesare used for matching if thetoandfromcolumns in edges are character vectors during construction (#89) bind_graph()now accepts a list of graphs as its first argument (#88)- Add
graph_modularity()for calculating modularity contingent on a node grouping (#97) - Edge weights are now handled more consistently to avoid igraph using a
possible
weightedge attribute.weights = NULLwill always mean that no edge weight is used (#106). - Neighborhood graph in
map_local()and siblings will now contain a.central_nodenode attribute that will identify the node from which the local graph has been calculated (#107)
- Compatibility with
dplyr0.8
- Better conversion of
networkobjects. Old conversion could mess up edge attributes. - Changes to anticipate new version of
tibbleanddplyr tibble-like dimming of non-data text in printing- Edge-length is now preserved when converting from
phylo - Added
to_subcomponentmorpher to work with a single component containing a specified node - Morphers that reference nodes now correctly tidy eval the node argument
- Add
node_is_adjacentto query which nodes are directly connected to a set of nodes - Add
fortifymethod fortbl_graphobject for plotting as regular data withggplot2
- Fix bug when coercing to
tbl_graphfrom an adjacency list containingNULLorNAelements. - Change license to MIT
- Add
convertverb to perform bothmorphandcrystallisein one go, returning a singletbl_graph - When collapsing edges or nodes during
morphthe original data will be stored in.orig_datainstead of.datato avoid conflicts with.dataargument in many tidyverse verbs (BREAKING) as_tbl_graph.data.framenow recognises set tables (each column gives eachs rows membership to that set)- Add
with_graphto allow computation of algorithms outside of verbs graph_is_*set of querying functions has been added that all returns logical scalars.- Add
%N>%and%E>%for activating nodes and edges respectively as part of the piping. mutatenow lets you reference created columns in graph algorithms so it behaves in line with expectedmutatebehaviour. This has led to a slight performance decrease (millisecond scale). The old behaviour can be accessed usingmutate_as_tblwhere the graph will only get updated in the end.- When using to_subgraph with edges, isolated nodes are no longer deleted
bind_graphsnow work with a singletbl_graph- Added
.register_graph_contextto allow the use of tidygraph algorithms in external functions. - Added
to_unfolded_tree,to_directed, andto_undirectedmorphers - Add the
node_rank_*family of algorithms for seriation of nodes - Added
to_hierarchical_clustersmorpher to work with hierarchical representations of community detection algorithms. - All
group_*algorithms now ensure that the groups are enumerated in descending order based on size, i.e. members of the largest group/community will always have1, etc. - Fix a bug when filtering all nodes or edges where no nodes/edges would be removed (#42)
- Added interface to
netrankrresulting in 19 new centrality scores and a manual mode for composing new centrality scores - Added
edge_is_[from|to|between|incident]()to help find edges related to certain nodes