Learn R Programming

⚠️There's a newer version (1.3.5) of this package.Take me there.

igraph (version 1.3.2)

Network Analysis and Visualization

Description

Routines for simple graphs and network analysis. It can handle large graphs very well and provides functions for generating random and regular graphs, graph visualization, centrality methods and much more.

Copy Link

Version

Install

install.packages('igraph')

Monthly Downloads

366,150

Version

1.3.2

License

GPL (>= 2)

Maintainer

Tam<c3><a1>s Nepusz

Last Published

June 13th, 2022

Functions in igraph (1.3.2)

igraph-package

The igraph package
adjacent_vertices

Adjacent vertices of multiple vertices in a graph
alpha_centrality

Find Bonacich alpha centrality scores of network positions
add_layout_

Add layout to graph
E

Edges of a graph
are_adjacent

Are two vertices adjacent?
add_edges

Add edges to a graph
as.directed

Convert between directed and undirected graphs
V

Vertices of a graph
as.igraph

Conversion to igraph
arpack_defaults

ARPACK eigenvector calculation
articulation_points

Articulation points and bridges of a graph
as_adjacency_matrix

Convert a graph to an adjacency matrix
estimate_betweenness

Vertex and edge betweenness centrality
automorphisms

Number of automorphisms
as_edgelist

Convert a graph to an edge list
add_vertices

Add vertices to a graph
as.matrix.igraph

Convert igraph objects to adjacency or edge list matrices
biconnected_components

Biconnected components
bipartite_mapping

Decide whether a graph is bipartite
bfs

Breadth-first search
all_simple_paths

List all simple paths from one source
bipartite_projection

Project a bipartite graph
as_ids

Convert a vertex or edge sequence to an ordinary vector
as_membership

Declare a numeric vector as a membership vector
as_graphnel

Convert igraph graphs to graphNEL objects from the graph package
as_incidence_matrix

Incidence matrix of a bipartite graph
centr_clo

Centralize a graph according to the closeness of vertices
cluster_leiden

Finding community structure of a graph using the Leiden algorithm of Traag, van Eck & Waltman.
centr_clo_tmax

Theoretical maximum for closeness centralization
cluster_leading_eigen

Community structure detecting based on the leading eigenvector of the community matrix
closeness

Closeness centrality of vertices
centr_betw

Centralize a graph according to the betweenness of vertices
centr_betw_tmax

Theoretical maximum for betweenness centralization
as_long_data_frame

Convert a graph to a long data frame
c.igraph.es

Concatenate edge sequences
as_adj_list

Adjacency lists
assortativity

Assortativity coefficient
authority_score

Kleinberg's authority centrality scores.
c.igraph.vs

Concatenate vertex sequences
cluster_edge_betweenness

Community structure detection based on edge betweenness
difference.igraph.es

Difference of edge sequences
canonical_permutation

Canonical permutation of a graph
difference.igraph.vs

Difference of vertex sequences
cohesive_blocks

Calculate Cohesive Blocks
centr_degree_tmax

Theoretical maximum for degree centralization
centr_degree

Centralize a graph according to the degrees of vertices
consensus_tree

Create a consensus tree from several hierarchical random graph models
delete_edge_attr

Delete an edge attribute
difference

Difference of two sets
console

The igraph console
degree

Degree and degree distribution of the vertices
cocitation

Cocitation coupling
difference.igraph

Difference of graphs
automorphism_group

Generating set of the automorphism group of a graph
cluster_fluid_communities

Community detection algorithm based on interacting fluids
count_isomorphisms

Count the number of isomorphic mappings between two graphs
component_distribution

Connected components of a graph
cluster_fast_greedy

Community structure via greedy optimization of modularity
compose

Compose two graphs as binary relations
.apply_modifiers

Applies a set of constructor modifiers to an already constructed graph.
.extract_constructor_and_modifiers

Takes an argument list and extracts the constructor specification and constructor modifiers from it.
disjoint_union

Disjoint union of graphs
global_efficiency

Efficiency of a graph
dim_select

Dimensionality selection for singular values using profile likelihood.
cluster_spinglass

Finding communities in graphs based on statistical meachanics
gorder

Order (number of vertices) of a graph
graph_from_adj_list

Create graphs from adjacency lists
graph_from_literal

Creating (small) graphs via a simple interface
centr_eigen

Centralize a graph according to the eigenvector centrality of vertices
categorical_pal

Palette for categories
graph_from_adjacency_matrix

Create graphs from adjacency matrices
edge_attr

Query edge attributes of a graph
edge_attr<-

Set one or more edge attributes
feedback_arc_set

Finding a feedback arc set in a graph
erdos.renyi.game

Generate random graphs according to the Erdos-Renyi model
centralize

Centralization of a graph
cliques

Functions to find cliques, ie. complete subgraphs in a graph
cluster_walktrap

Community structure via short random walks
count_motifs

Graph motifs
cluster_infomap

Infomap community finding
delete_edges

Delete edges from a graph
delete_graph_attr

Delete a graph attribute
cluster_label_prop

Finding communities based on propagating labels
eccentricity

Eccentricity of the vertices in a graph
graph_attr<-

Set all or some graph attributes
graph_

Convert object to a graph
centr_eigen_tmax

Theoretical maximum for betweenness centralization
compare

Compares community structures using various metrics
membership

Functions to deal with the result of network community detection
curve_multiple

Optimal edge curvature when plotting graphs
cluster_louvain

Finding community structure by multi-level optimization of modularity
graph_id

Get the id of a graph
decompose

Decompose a graph into components
edge

Helper function for adding and deleting edges
graph_from_graphnel

Convert graphNEL objects from the graph package to igraph
has_eulerian_path

Find Eulerian paths or cycles in a graph
component_wise

Component-wise layout
harmonic_centrality

Harmonic centrality of vertices
complementer

Complementer of a graph
intersection.igraph.es

Intersection of edge sequences
get.edge.ids

Find the edge ids based on the incident vertices of the edges
intersection.igraph

Intersection of graphs
graph_from_incidence_matrix

Create graphs from an incidence matrix
cluster_optimal

Optimal community structure
intersection.igraph.vs

Intersection of vertex sequences
contract

Contract several vertices into a single one
constraint

Burt's constraint
count_subgraph_isomorphisms

Count the isomorphic mappings between a graph and the subgraphs of another graph
delete_vertex_attr

Delete a vertex attribute
delete_vertices

Delete vertices from a graph
igraph-vs-indexing

Indexing vertex sequences
igraph-vs-indexing2

Select vertices and show their metadata
count_triangles

Find triangles in graphs
igraph_demo

Run igraph demos, step by step
convex_hull

Convex hull of a set of vertices
dyad_census

Dyad census of a graph
knn

Average nearest neighbor degree
laplacian_matrix

Graph Laplacian
is_chordal

Chordality of a graph
each_edge

Rewires the endpoints of the edges of a graph to a random vertex
local_scan

Compute local scan statistics on graphs
make_

Make a new graph
layout_as_star

Generate coordinates to place the vertices of a graph in a star-shape
layout_as_tree

The Reingold-Tilford graph layout algorithm
girth

Girth of a graph
eigen_centrality

Find Eigenvector Centrality Scores of Network Positions
diversity

Graph diversity
fit_hrg

Fit a hierarchical random graph model
embed_adjacency_matrix

Spectral Embedding of Adjacency Matrices
fit_power_law

Fitting a power-law distribution function to discrete data
dfs

Depth-first search
coreness

K-core decomposition of graphs
max_flow

Maximum flow in a graph
max_cardinality

Maximum cardinality search
graph_from_atlas

Create a graph from the Graph Atlas
distance_table

Shortest (directed or undirected) paths between vertices
edge_attr_names

List names of edge attributes
diverging_pal

Diverging palette
diameter

Diameter of a graph
edge_connectivity

Edge connectivity.
hrg-methods

Hierarchical random graphs
hrg

Create a hierarchical random graph from an igraph graph
graph_attr_names

List names of graph attributes
graph_attr

Graph attributes of a graph
embed_laplacian_matrix

Spectral Embedding of the Laplacian of a Graph
path

Helper function to add or delete edges along a path
dominator_tree

Dominator tree
igraph_options

Parameters for the igraph package
edge_density

Graph density
groups

Groups of a vertex partitioning
hrg_tree

Create an igraph graph from a hierarchical random graph model
hub_score

Kleinberg's hub centrality scores.
igraph-minus

Delete vertices or edges from a graph
ego_size

Neighborhood of graph vertices
permute

Permute the vertices of a graph
greedy_vertex_coloring

Greedy vertex coloring
igraph-es-indexing

Indexing edge sequences
as_data_frame

Creating igraph graphs from data frames or vice-versa
igraph_test

Run package tests
igraph-vs-attributes

Query or set attributes of the vertices in a vertex sequence
graph_from_graphdb

Load a graph from the graph database for testing graph isomorphism.
graphlet_basis

Graphlet decomposition of a graph
ends

Incident vertices of some graph edges
graph_from_edgelist

Create a graph from an edge list matrix
graph_version

igraph data structure versions
head_print

Print the only the head of an R object
head_of

Head of the edge(s) in a graph
indent_print

Indent a printout
igraph-es-indexing2

Select edges and show their metadata
intersection

Intersection of two or more sets
igraph_version

Query igraph's version string
is_directed

Check whether a graph is directed
is_graphical

Is a degree sequence graphical?
graph_from_isomorphism_class

Create a graph from an isomorphism class
graph_from_lcf

Creating a graph from LCF notation
identical_graphs

Decide if two graphs are identical
igraph-attribute-combination

How igraph functions handle attributes when the graph changes
ivs

Independent vertex sets
keeping_degseq

Graph rewiring while preserving the degree distribution
is_named

Named graphs
is_dag

Directed acyclic graphs
is_degseq

Check if a degree sequence is valid for a multi-graph
print.igraphHRG

Print a hierarchical random graph model to the screen
print.igraphHRGConsensus

Print a hierarchical random graph consensus tree to the screen
rep.igraph

Replicate a graph multiple times
layout_randomly

Randomly place vertices on a plane or in 3d space
layout_with_dh

The Davidson-Harel layout algorithm
is_separator

Vertex separators
layout.reingold.tilford

Deprecated layout functions
is_printer_callback

Is this a printer callback?
layout.fruchterman.reingold.grid

Grid Fruchterman-Reingold layout, this was removed from igraph
is_tree

Decide whether a graph is a tree.
gsize

The size of the graph (number of edges)
is_min_separator

Minimal vertex separators
is_igraph

Is this object an igraph graph?
isomorphism_class

Isomorphism class of a graph
isomorphisms

Calculate all isomorphic mappings between the vertices of two graphs
handle_vertex_type_arg

Common handler for vertex type arguments in igraph functions
layout.svd

SVD layout, this was removed from igraph
layout.spring

Spring layout, this was removed from igraph
layout_with_kk

The Kamada-Kawai layout algorithm
make_clusters

Creates a communities object.
make_de_bruijn_graph

De Bruijn graphs
make_full_graph

Create a full graph
make_chordal_ring

Create an extended chordal ring graph
make_graph

Create an igraph graph from a list of edges, or a notable graph
layout_

Graph layouts
layout_with_lgl

Large Graph Layout
is_bipartite

Create a bipartite graph
match_vertices

Match Graphs given a seeding of vertex correspondences
make_kautz_graph

Kautz graphs
layout_with_drl

The DrL graph layout generator
layout_with_gem

The GEM layout algorithm
make_lattice

Create a lattice graph
layout_with_fr

The Fruchterman-Reingold layout algorithm
layout_as_bipartite

Simple two-row layout for bipartite graphs
rev.igraph.es

Reverse the order in an edge sequence
sample_dirichlet

Sample from a Dirichlet distribution
sample_degseq

Generate random graphs with a given degree sequence
sample_tree

Sample trees randomly and uniformly
is_matching

Graph matching
normalize

Normalize layout
igraph-dollar

Getting and setting graph attributes, shortcut
page_rank

The Page Rank algorithm
layout_with_mds

Graph layout by multidimensional scaling
mst

Minimum spanning tree
scan_stat

Scan statistics on a time series of graphs
layout_with_graphopt

The graphopt layout algorithm
layout_with_sugiyama

The Sugiyama graph layout generator
make_star

Create a star graph, a tree with n vertices and n - 1 leaves
make_tree

Create tree graphs
igraph-es-attributes

Query or set attributes of the edges in an edge sequence
scg_semi_proj

Semi-Projectors
sequential_pal

Sequential palette
make_full_bipartite_graph

Create a full bipartite graph
strength

Strength or weighted vertex degree
merge_coords

Merging graph layouts
[.igraph

Query and manipulate a graph as it were an adjacency matrix
incident

Incident edges of a vertex in a graph
incident_edges

Incident edges of multiple vertices in a graph
print.nexusDatasetInfo

Query and download from the Nexus network repository
min_cut

Minimum cut in a graph
norm_coords

Normalize coordinates for plotting graphs
+.igraph

Add vertices, edges or another graph to a graph
sample_correlated_gnp

Generate a new random graph from a given graph by randomly adding/removing edges
is_weighted

Weighted graphs
power_centrality

Find Bonacich Power Centrality Scores of Network Positions
layout_in_circle

Graph layout with vertices on a circle.
sample_correlated_gnp_pair

Sample a pair of correlated G(n,p) random graphs
isomorphic

Decide if two graphs are isomorphic
neighbors

Neighboring (adjacent) vertices in a graph
layout_on_grid

Simple grid layout
layout_nicely

Choose an appropriate graph layout algorithm automatically
plot.igraph

Plotting of graphs
tkplot

Interactive plotting of graphs
to_prufer

Convert a tree graph to its Prufer sequence
triad_census

Triad census, subgraphs with three vertices
plot.sir

Plotting the results on multiple SIR model runs
unfold_tree

Convert a general graph into a forest
make_empty_graph

A graph with no edges
predict_edges

Predict edges based on a hierarchical random graph model
vertex_attr

Query vertex attributes of a graph
layout_on_sphere

Graph layout with vertices on the surface of a sphere
print.igraph

Print graphs to the terminal
min_separators

Minimum size vertex separators
make_full_citation_graph

Create a complete (full) citation graph
min_st_separators

Minimum size vertex separators
vertex_attr_names

List names of vertex attributes
sample_fitness

Random graphs from vertex fitness scores
sample_dot_product

Generate random graphs according to the random dot product graph model
sample_islands

A graph with subgraphs that are each a random graph.
printer_callback

Create a printer callback function
scg

All-in-one Function for the SCG of Matrices and Graphs
sample_k_regular

Create a random regular graph
scg-method

Spectral Coarse Graining
[[.igraph

Query and manipulate a graph as it were an adjacency list
realize_degseq

Creating a graph from a given degree sequence, deterministically
subcomponent

In- or out- component of a vertex
plot_dendrogram

Community structure dendrogram plots
reciprocity

Reciprocity of graphs
Pie charts as vertices

Using pie charts as vertices in graph plots
with_igraph_opt

Run code with a temporary igraph options setting
make_ring

Create a ring graph
make_line_graph

Line graph of a graph
with_vertex_

Constructor modifier to add vertex attributes
r_pal

The default R palette
plot_dendrogram.igraphHRG

HRG dendrogram plot
make_from_prufer

Create an undirected tree graph from its Prufer sequence
motifs

Graph motifs
%>%

Magrittr's pipes
modularity.igraph

Modularity of a community structure of a graph
sample_hierarchical_sbm

Sample the hierarchical stochastic block model
rev.igraph.vs

Reverse the order in a vertex sequence
printr

Better printing of R packages
rewire

Rewiring edges of a graph
radius

Radius of a graph
rglplot

3D plotting of graphs with OpenGL
vertex_attr<-

Set one or more vertex attributes
print.igraph.es

Print an edge sequence to the screen
Drawing graphs

Drawing graphs
sample_hrg

Sample from a hierarchical random graph model
running_mean

Running mean of a time series
random_walk

Random walk on a graph
print.igraph.vs

Show a vertex sequence on the screen
scg_eps

Error of the spectral coarse graining (SCG) approximation
read_graph

Reading foreign file formats
scg_group

SCG Problem Solver
sample_gnm

Generate random graphs according to the G(n,m) Erdos-Renyi model
sample_

Sample from a random graph model
sample_forestfire

Forest Fire Network Model
sample_fitness_pl

Scale-free random graphs, from vertex fitness scores
sample_gnp

Generate random graphs according to the G(n,p) Erdos-Renyi model
sample_sphere_surface

Sample vectors uniformly from the surface of a sphere
set_graph_attr

Set a graph attribute
sample_motifs

Graph motifs
set_edge_attr

Set edge attributes
sample_last_cit

Random citation graphs
sample_bipartite

Bipartite random graphs
sample_spanning_tree

Samples from the spanning trees of a graph randomly and uniformly
srand

Deprecated function, used to set random seed of the C library's RNG
tail_of

Tails of the edge(s) in a graph
tkigraph

Experimental basic igraph GUI
st_cuts

List all (s,t)-cuts of a graph
simplify

Simple graphs
time_bins.sir

SIR model on graphs
subgraph

Subgraph of a graph
union

Union of two or more sets
subgraph_centrality

Find subgraph centrality scores of network positions
union.igraph.vs

Union of vertex sequences
weighted_cliques

Functions to find weighted cliques, ie. weighted complete subgraphs in a graph
union.igraph.es

Union of edge sequences
without_multiples

Constructor modifier to drop multiple edges
sample_grg

Geometric random graphs
vertex_connectivity

Vertex connectivity.
union.igraph

Union of graphs
sample_growing

Growing random graph generation
write_graph

Writing the graph to a file in some format
sample_pa

Generate scale-free graphs according to the Barabasi-Albert model
sample_sphere_volume

Sample vectors uniformly from the volume of a sphere
set_vertex_attr

Set vertex attributes
sample_traits_callaway

Graph generation based on different vertex types
sample_pref

Trait-based random generation
sample_sbm

Sample stochastic block model
shapes

Various vertex shapes when plotting igraph graphs
split_join_distance

Split-join distance of two community structures
sample_pa_age

Generate an evolving random graph with preferential attachment and aging
spectrum

Eigenvalues and eigenvectors of the adjacency matrix of a graph
subgraph_isomorphic

Decide if a graph is subgraph isomorphic to another one
sample_seq

Sampling a random integer sequence
simplified

Constructor modifier to drop multiple and loop edges
subgraph_isomorphisms

All isomorphic mappings between a graph and subgraphs of another graph
stochastic_matrix

Stochastic matrix of a graph
similarity

Similarity measures of two vertices
st_min_cuts

List all minimum \((s,t)\)-cuts of a graph
sample_smallworld

The Watts-Strogatz small-world model
unique.igraph.es

Remove duplicate edges from an edge sequence
topo_sort

Topological sorting of vertices in a graph
transitivity

Transitivity of a graph
which_mutual

Find mutual edges in a directed graph
which_multiple

Find the multiple or loop edges in a graph
vertex

Helper function for adding and deleting vertices
upgrade_graph

igraph data structure versions
unique.igraph.vs

Remove duplicate vertices from a vertex sequence
without_attr

Construtor modifier to remove all attributes from a graph
without_loops

Constructor modifier to drop loop edges
with_graph_

Constructor modifier to add graph attributes
with_edge_

Constructor modifier to add edge attributes