- Fix a bug in
tbl_graph()
when edgeto
andfrom
where encoded as factors - Secure compitability with igraph 2.0.0
- Add
resolution
argument 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_graph
andmorphed_tbl_graph
objects (#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 acolor
argument in line with capabilities in igraphgraph_mean_dist()
now supports edge weights through a newweights
argument- Added
to_largest_component()
morpher - Added
graph_is_eulerian()
andedge_rank_eulerian()
for eulerian path calculations - Added
to_random_spanning_tree()
morpher - Added
min_order
argument 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_eigen
andgroup_walktrap
have a new argumentn_groups
that controls the numbers of groups computed. The argument expects an integer value and it isNULL
by 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
nodes
are used for matching if theto
andfrom
columns 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
weight
edge attribute.weights = NULL
will always mean that no edge weight is used (#106). - Neighborhood graph in
map_local()
and siblings will now contain a.central_node
node attribute that will identify the node from which the local graph has been calculated (#107)
- Compatibility with
dplyr
0.8
- Better conversion of
network
objects. Old conversion could mess up edge attributes. - Changes to anticipate new version of
tibble
anddplyr
tibble
-like dimming of non-data text in printing- Edge-length is now preserved when converting from
phylo
- Added
to_subcomponent
morpher to work with a single component containing a specified node - Morphers that reference nodes now correctly tidy eval the node argument
- Add
node_is_adjacent
to query which nodes are directly connected to a set of nodes - Add
fortify
method fortbl_graph
object for plotting as regular data withggplot2
- Fix bug when coercing to
tbl_graph
from an adjacency list containingNULL
orNA
elements. - Change license to MIT
- Add
convert
verb to perform bothmorph
andcrystallise
in one go, returning a singletbl_graph
- When collapsing edges or nodes during
morph
the original data will be stored in.orig_data
instead of.data
to avoid conflicts with.data
argument in many tidyverse verbs (BREAKING) as_tbl_graph.data.frame
now recognises set tables (each column gives eachs rows membership to that set)- Add
with_graph
to 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. mutate
now lets you reference created columns in graph algorithms so it behaves in line with expectedmutate
behaviour. This has led to a slight performance decrease (millisecond scale). The old behaviour can be accessed usingmutate_as_tbl
where the graph will only get updated in the end.- When using to_subgraph with edges, isolated nodes are no longer deleted
bind_graphs
now work with a singletbl_graph
- Added
.register_graph_context
to allow the use of tidygraph algorithms in external functions. - Added
to_unfolded_tree
,to_directed
, andto_undirected
morphers - Add the
node_rank_*
family of algorithms for seriation of nodes - Added
to_hierarchical_clusters
morpher 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
netrankr
resulting 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